如何获取使用MSSQL GetDate()的日期? [英] How do I get just the date when using MSSQL GetDate()?
问题描述
从表WHERE日期删除>> GETDATE();
GETDATE()包含时间。而不是获得
2011-01-26 14:58:21.637
如何获取:
2011-01-26 00:00:00.000
/ p>
总结
DATEADD ,DATEDIFF(day,0,GETDATE()),0)
SQL Server 2008有 date
type。所以只需使用
CAST(GETDATE()AS DATE)
编辑:添加一天,比较前一天零
DATEADD(day,DATEDIFF(day,-1,GETDATE()),0)
从cyberkiwi:
一个不涉及2个功能的替代方案是(+1可以在我们的方括号中)。
DATEDIFF(DAY,0,GETDATE()+1)
DateDiff
返回一个数字,但为了所有目的,这将作为一个日期,无论您打算使用此表达式,除非将其直接转换为VARCHAR,否则您将直接在GETDATE()中使用CONVERT方法,例如
convert(varchar,GETDATE()+1,102)
DELETE from Table WHERE Date > GETDATE();
GETDATE() includes time. Instead of getting
2011-01-26 14:58:21.637
How can I get:
2011-01-26 00:00:00.000
Slight bias to SQL Server
- Best approach to remove time part of datetime in SQL Server
- Most efficient way in SQL Server to get date from date+time?
Summary
DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
SQL Server 2008 has date
type though. So just use
CAST(GETDATE() AS DATE)
Edit: To add one day, compare to the day before "zero"
DATEADD(day, DATEDIFF(day, -1, GETDATE()), 0)
From cyberkiwi:
An alternative that does not involve 2 functions is (the +1 can be in or ourside the brackets).
DATEDIFF(DAY, 0, GETDATE() +1)
DateDiff
returns a number but for all purposes this will work as a date wherever you intend to use this expression, except converting it to VARCHAR directly - in which case you would have used the CONVERT approach directly on GETDATE(), e.g.
convert(varchar, GETDATE() +1, 102)
这篇关于如何获取使用MSSQL GetDate()的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!