首页 / SQL Server / 正文

[SQL Server]SQL Server中如何只返回日期数据类型的日期部分(Date)

2844 发布于: 2018-01-04 读完约需2分钟

问题描述

SQL Server中如何只返回日期数据类型的日期部分(Date)?
比如,我们查询如下SQL语句:

SELECT GETDATE()

返回的结果是形如: 2008-09-22 15:24:13.790

如果只需要日期部分呢,比如期望的返回结果为: 2008-09-22

方式一

在SQL Server 2008+ 中,可以使用 CONVERT 关键字:

SELECT CONVERT(date, getdate())

在SQL Server 2008以下版本中,实现方式如下:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @your_date))

比如:

SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

返回的结果为:2008-09-22 00:00:00.000

方式二

在SQL Server 2008+ 中,可以使用 CAST 关键字:

select cast(getdate() as date)

方式三

SELECT CONVERT(VARCHAR(10),GETDATE(),111)

方式四

SELECT CONVERT(datetime, CONVERT(varchar, GETDATE(), 101))

方式五

SELECT CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME)

方式六

在SQL Server 2012+ 中,可以使用 FORMAT 关键字:

SELECT FORMAT(GETDATE(), 'yyyy-MM-dd')

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: [SQL Server]SQL Server中怎样将从存储过程(stored procedure)中查询出来的结果集写入一个临时表

下一篇: .NET[C#]RestSharp GET/POST请求如何添加文本参数?

本文永久链接码友网 » [SQL Server]SQL Server中如何只返回日期数据类型的日期部分(Date)

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册