SELECT GETDATE()

返回时间:2008-09-22 15:24:13.790

我想要没有时间部分的日期部分:2008-09-22 00:00:00.000

我怎么能得到那个?


当前回答

试试看:

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

以上语句将您当前的格式转换为YYYY/MM/DD,请参阅此链接以选择您的首选格式。

其他回答

如果需要varchar形式的结果,则应执行

SELECT CONVERT(DATE, GETDATE()) --2014-03-26
SELECT CONVERT(VARCHAR(10), GETDATE(), 111) --2014/03/26

这已经在上文中提到。

如果需要日期和时间格式的结果,应使用以下任何查询

仅选择CONVERT(DATETIME,CONVERT)(VARCHAR(10),GETDATE(),111))作为日期2014-03-26 00:00:00.000选择CONVERT(日期时间,转换(VARCHAR(10),GETDATE(),112))作为仅日期2014-03-26 00:00:00.000声明@仅日期DATETIMESET@OnlyDate=DATEDIFF(DD,0,GETDATE())选择@OnlyDate作为OnlyDate2014-03-26 00:00:00.000

SELECT * FROM tablename WHERE CAST ([my_date_time_var] AS DATE)= '8/5/2015'

从SQL SERVER 2012开始,您可以执行以下操作:

选择格式(GETDATE(),'yyyy-MM-dd 00:00:00.000')

简单地说,您可以这样做:

SELECT CONVERT(date, getdate())
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, @your_date))
SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))

输出为:

2008-09-22 00:00:00.000

或者简单地这样做:

SELECT CONVERT (DATE, GETDATE()) 'Date Part Only'

结果:

Date Part Only
--------------
2013-07-14
select convert(getdate() as date)

select CONVERT(datetime,CONVERT(date, getdate()))