SQL MS SQL 只提取日期不包含时间

SQL MS SQL 只提取日期不包含时间

在本文中,我们将介绍如何在 MS SQL 数据库中提取只包含日期而不包含时间的值。

阅读更多:SQL 教程

1. 使用CAST函数

在 MS SQL 中,我们可以使用 CAST 函数来将 datetime 数据类型转换为 date 数据类型,从而仅提取日期。

SELECT CAST(GETDATE() AS date) AS DateOnly;

上述示例将返回当前日期的值,而不包含时间部分。

2. 使用CONVERT函数

除了使用 CAST 函数,我们还可以使用 CONVERT 函数来将 datetime 数据类型转换为 date 数据类型。

SELECT CONVERT(date, GETDATE()) AS DateOnly;

与 CAST 函数相比,CONVERT 函数的语法稍有不同,但功能相同,都能够提取日期而不包含时间。

3. 使用DATE函数

在 MS SQL 2012 及以上版本中,我们还可以使用 DATE 函数来提取只包含日期的值。

SELECT DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE())) AS DateOnly;

DATEFROMPARTS 函数接受年、月和日作为参数,并返回一个只包含日期而不包含时间的值。

4. 使用格式化字符串

另一种方法是使用格式化字符串来只返回日期部分。

SELECT CONVERT(varchar, GETDATE(), 101) AS DateOnly;

上述示例中的“101”是格式化字符串,用于指示只返回日期部分。

5. 使用DATEADD函数

如果我们想要在 MS SQL 中从一个带有时间的 datetime 值中提取日期,我们可以使用 DATEADD 函数将时间部分减去。

SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) AS DateOnly;

上述示例使用了 DATEADD 函数和 DATEDIFF 函数。它们的组合可以将时间部分置为零,从而只返回日期部分。

总结

通过使用 CAST 函数、CONVERT 函数、DATE 函数、格式化字符串以及 DATEADD 函数,我们可以在 MS SQL 数据库中提取只包含日期而不包含时间的值。这在处理需要忽略时间的场景中非常有用,例如只关心日期的报表或查询。希望本文对你有所帮助!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程