我有一个表CLIENT(id,name,date)。在mssql中。我怎样才能每天返回所有的id。比方说我有一个轮询器,我想将脚本插入到每天轮询一次的轮询器中。什么脚本将返回今天创建的所有id?
答案 0 :(得分:2)
假设date
是没有时间组件的日期,获取当前日期记录的最简单方法是:
select id
from client
where date = cast(getdate() as date);
如果有时间组件,请使用:
where date >= cast(getdate() as date) and date < cast(getdate() + 1 as date)
请注意,函数(cast()
)不在列上,而是在getdate()
上。这允许查询优化器在date
上使用索引(如果适用)。
答案 1 :(得分:0)
使用DATEDIFF函数来获取db中的datetime与当前日期之间的差异
SELECT ID FROM Client WHERE DATEDIFF(day, Date, GETDATE()) = 0;
答案 2 :(得分:-2)
SELECT id
FROM CLIENT
ORDER BY date DESC