evanescence hi lo:生日提醒sql

来源:百度文库 编辑:高考问答 时间:2024/05/07 06:28:21
写一条sql语句
查出数据库中所有生日在3天内的
没人回答,我自己来
SELECT * FROM USERTABLE
WHERE (MONTH(Birthday) = MONTH(CurrentDay))
AND (DAY(Birthday) BETWEEN DAY(CurrentDay) AND DAY(CurrentDay)+3)

我自己的这个答案是通过测试的
底下三个我测试过了都不行

不是自信,我拿查询分析器试过的好吗

SELECT * FROM USERTABLE
WHERE Right(CONVERT(char(8), Birthday,112),4) Between Right(CONVERT(char(8), GetDate()-3,112),4) and Right(CONVERT(char(8), GetDate()+3,112),4)
呵呵,这个试试

我发这个其实是已经测试过的了,只要保证Birthday是Datetime类型的话,是可以得出正确结果的,楼主的我仔细看了一下,如果把+3放在DAY函数里面应该是可行的,如果放在外面的话,有可能对于跨月份的处理有问题(仅是猜测),另外3天内应该包括前后的啊

select * from usertable where abs(datediff(d,birthday,getdate()))<=3

SELECT * FROM USERTABLE
WHERE Birthday BETWEEN GETDATE() AND DATEADD(day, 3, GETDATE())
这个sql可能支持SQL SERVER

朋友你自己的是错误的
你在看看这里的三个朋友的怎么样
不要太自信
的了

补充:
我认为你应该分析的是具体的业务是什么?
你写的是在同个月分里,而那个大哥就是前后不超过三天的
你写的和你说的是不符合的,你把业务给搞乱了
呵呵,你看后给兄弟说哈