我在sql DB中有一个日期时间列 - 名为check_time
。我想编写一个选择查询,其中check_time
应该等于今天的日期(不需要考虑什么时间。只需要检查当前日期)。
例如,表中的check_time
作为03/08/2017 12:00:00.000 AM
插入。
我写的如下
SELECT * FROM time_details
WHERE check_time = DATEADD(day, DATEDIFF(day,0,GETDATE()),0)
但它什么也没有回报。
答案 0 :(得分:0)
这是正确的语法:
SELECT * FROM time_details where (DATEDIFF(d, check_time, GETDATE()) = 0)
答案 1 :(得分:0)
只需CAST
今天的DATE
日期。
<强>查询强>
select * from time_details
where check_time = cast(getdate() as date);
答案 2 :(得分:0)
尝试
SELECT * FROM time_details where DATE(check_time) =CURDATE()
当CURDATE返回当前日期时,DATE函数将从datetime字段中提取日期。
答案 3 :(得分:0)
检查sql查询
SELECT * FROM time_details其中DATE(check_time)= DATE(NOW())
答案 4 :(得分:0)
这应该有效
SELECT * FROM time_details其中check_time = convert(varchar,getdate(),101)