sql查询当天记录

[transaction]表中有当天的记录,我用select*from[transaction]whereDateDiff(dd,transday,getdate())=... [transaction]表中有当天的记录,我用select * from [transaction] where DateDiff(dd,transday,getdate())=0查的话查不出记录,请问这句有哪里写错了么?怎么改呢? 展开
 我来答
SQL的艺术
2015-11-10 · SQL写多了就会在追求极致
SQL的艺术
采纳数:2040 获赞数:3322

向TA提问 私信TA
展开全部

1、SQL在查询当天记录时要注意是从当天的0点0分0秒0毫秒开始,到次日0点0分0秒0毫秒截止,但不包含次日的0点0分0秒0毫秒。

2、注意:在不同数据库产品中,获得当天日期的函数不一样。

    MSSQL获得当前日期:convert(varchar(10),Getdate(),120)

    MYSQL获得当前日期:date(now())

    Oracle获得当前日期:to_char(sysdate,'yyyy-mm-dd')

    Access获得当前日期:date()

3、在各个数据库里获得当天的记录写法为(假设表名为:Table_1,日期列名为:date_col):

    MSSQL获得当天记录:

select * from table_1 where date_col>=convert(varchar(10),Getdate(),120) and date_col<convert(varchar(10),dateadd(d,1,Getdate()),120)

    MYSQL获得当天记录:

select * from table_1 where date_col>=date(now()) and date_col<DATE_ADD(date(now()),INTERVAL 1 DAY)

    Oracle获得当天记录:

select * from table_1 where date_col>=to_char(sysdate,'yyyy-mm-dd') and date_col<to_char(sysdate+1,'yyyy-mm-dd')

    Access获得当天记录:

select * from table_1 where date_col>=date() and date_col<DateAdd("d",1,date())

4、另外,在查询的时候,尽量不要对列进行运算,因为日期列上若有索引,就无法使用索引了。

百度网友8ac6d36fb
2011-09-01 · TA获得超过621个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:182万
展开全部
数据库服务器时间是正确,getdate()取的是数据库服务器日期时间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真灵级存在
2011-08-31 · TA获得超过853个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:170万
展开全部
你的语法没错啊,transday是datetime 类型吧
追问
是datetime类型的,而且我使用datetimepicker把日期选择当天是可以查出来的,但是用这个语句就显示不出来
追答
你是在编程工具中执行的语句还是在SQL SERVER 查询分析器中执行的? 我在查询分析器中建了个测试表,可以查出来啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e337bc877
2011-08-31 · TA获得超过172个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:166万
展开全部
SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate
结果1

select * from [transaction] where transday=subStr(GETDATE(),0,10)

select * from [transaction] where subStr(GETDATE(),0,10) like transday||'%'
追问
substr报错,说是无法识别= =
追答
subString
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式