如何从 SQL Server 的时间戳中提取日期

概述

在 SQL Server 中,时间戳数据类型(datetime 或 datetime2)存储了日期和时间信息。有时候我们只需要提取其中的日期部分,本文将向您展示如何在 SQL Server 中实现这一目标。

实现步骤

步骤 描述
1 将时间戳转换为字符串类型
2 从字符串中提取日期部分
3 将提取的日期字符串转换为日期类型

代码实现

步骤 1:将时间戳转换为字符串类型

在 SQL Server 中,我们可以使用 CONVERT 函数将时间戳转换为字符串类型。以下是一个示例:

SELECT CONVERT(varchar, YourColumnName, 23) AS DateString
FROM YourTableName

在上面的代码中,YourColumnName 是包含时间戳的列名,YourTableName 是包含该列的表名。函数中的参数 23 表示转换为格式为 yyyy-mm-dd 的字符串。

步骤 2:从字符串中提取日期部分

在 SQL Server 中,我们可以使用 LEFT 函数从字符串中提取指定长度的字符。以下是一个示例:

SELECT LEFT(DateString, 10) AS DatePart
FROM
(
    SELECT CONVERT(varchar, YourColumnName, 23) AS DateString
    FROM YourTableName
) AS T

在上面的代码中,我们首先将时间戳转换为字符串类型,并将结果命名为 DateString。然后,我们使用 LEFT 函数提取字符串的前 10 个字符作为日期部分,并将结果命名为 DatePart

步骤 3:将提取的日期字符串转换为日期类型

在 SQL Server 中,我们可以使用 CONVERT 函数将字符串转换为日期类型。以下是一个示例:

SELECT CONVERT(date, DatePart) AS DateValue
FROM
(
    SELECT LEFT(DateString, 10) AS DatePart
    FROM
    (
        SELECT CONVERT(varchar, YourColumnName, 23) AS DateString
        FROM YourTableName
    ) AS T
) AS T2

在上面的代码中,我们首先使用步骤 2 中的方法提取日期部分,并将结果命名为 DatePart。然后,我们使用 CONVERT 函数将日期部分转换为日期类型,并将结果命名为 DateValue

总结

通过上述步骤,我们可以从 SQL Server 的时间戳中提取日期部分。首先,我们将时间戳转换为字符串类型,然后从字符串中提取日期部分,最后将提取的日期字符串转换为日期类型。希望本文对您有所帮助!