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

SQL Server 作者: Rector 60阅读 0评论 0收藏 收藏本文

郑重申明:本文未经许可,禁止任何形式转载

问题描述

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中如何只返回日期数据类型的日期部分(Date)

发布于: 2018-01-04 10:05:00
分享扩散:

文章评论

获取验证码