SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
SELECT GETDATE()
返回时间:2008-09-22 15:24:13.790
我想要没有时间部分的日期部分:2008-09-22 00:00:00.000
我怎么能得到那个?
当前回答
SELECT * FROM tablename WHERE CAST ([my_date_time_var] AS DATE)= '8/5/2015'
其他回答
如果使用SQL 2008及更高版本:
select cast(getdate() as date)
我知道这很古老,但我看不出哪里有人这样说。据我所知,这是ANSI标准。
SELECT CAST(CURRENT_TIMESTAMP AS DATE)
如果微软也能支持ANSI标准CURRENT_DATE变量,那就好了。
SELECT DATEADD(DD, DATEDIFF(DD, 0, GETDATE()), 0)
SELECT DATEADD(DAY, 0, DATEDIFF(DAY,0, GETDATE()))
SELECT CONVERT(DATETIME, CONVERT(VARCHAR(10), GETDATE(), 101))
编辑:前两个方法基本相同,out执行转换为varchar方法。
为什么不使用DATE_FORMAT(your_datetiem_column,'%d-%m-%Y')?
示例:从table_name中选择DATE_FORMAT(some_datetime_column,“%d-%m-%Y”)
您可以通过重新排列“%d-%m-%Y”部分来更改m、d和year的顺序
为了获得指示的结果,我使用以下命令。
SELECT CONVERT(DATETIME,CONVERT(DATE,GETDATE()))
我认为它很有用。