在SQL SERVER2000数据库中如何比较生日。
比如说,我想列出所有在5天内过生日的所有会员,该如何列哪?select * from member
where where (DATEDIFF(year,DATEPART (year,issuedatatime)," + DateTime.Now.ToString("MM - dd")+")<=5"我写得不对,请各位帮一下忙
比如说,我想列出所有在5天内过生日的所有会员,该如何列哪?select * from member
where where (DATEDIFF(year,DATEPART (year,issuedatatime)," + DateTime.Now.ToString("MM - dd")+")<=5"我写得不对,请各位帮一下忙
string dateAdd3 = DateTime.Today.AddDays(3).ToString("-MM-dd");
string sql = @"select * from member where " +
"abs(datediff(day,convert(datetime,Convert(char,year(issuedatatime))+'" + dateAdd3 + "'),issuedatatime))<3" +
" or " +
"abs(datediff(day,convert(datetime,Convert(char,year(issuedatatime)-1)+'" + dateAdd3 + "'),issuedatatime))<3";
from youTable
where birthday between (
select dateadd(dd, datediff(dd, 0, getdate()) - 5, 0))
and
(select dateadd(dd, datediff(dd, 0, getdate()) + 5, 0))
select birthday
from youTable
where birthday between (
select dateadd(dd, datediff(dd, 0, getdate()) - 2, 0))
and
(select dateadd(dd, datediff(dd, 0, getdate()) + 3, 0))
where birthday<=(getdate()+5) and birday>=getdate()
from youTable
where birthday between (
select dateadd(dd, datediff(dd, 0, getdate()) - 2, 0))
and
(select dateadd(dd, datediff(dd, 0, getdate()) + 3, 0))
如何不比较年份,直接比较月日
datediff(dd, year(NOW())+Month([出生日期])+Day([出生日期]), NOW())上面返回的就是当前日期与生日的天数差.
datediff(dd, year(NOW())+Month([出生日期])+Day([出生日期]), NOW())
好使吗?你的加号用得太主观了吧
datediff(dd, year(NOW())+Month([出生日期])+Day([出生日期]), NOW())
好使吗?你的加号用得太主观了吧
——————————————————————————————
SQL查询语句是一串字符串,用不用“+”号看你使用什么语言了,我用惯C++或C#,所以用“+”,如果你用VB的话,就用 “&”好了。
"datediff('dd', '"+year(NOW())+Month([出生日期])+Day([出生日期])+"', '"+NOW()+"')"