我写 select 365- DATEDIFF(d,remdtime,GETDATE()),remdtime from T_Reminder remdtime是生日这样出来的话remdtime是 2009年10.19 日 今天是23日 出来的结果是还有361天 应该是4天.应该怎么写呢
remdtime是2010-4-20 的话应该是还有三天 出现是还有544天 这个函数C#怎么写呢??
谢谢了 或是 SQL直接能得出的..
remdtime是2010-4-20 的话应该是还有三天 出现是还有544天 这个函数C#怎么写呢??
谢谢了 或是 SQL直接能得出的..
set @dt='1988-01-15'select datediff(dd,DATEADD(Year,DATEDIFF(Year,@dt,getdate()),@dt),getdate())/*
-----------
281(所影响的行数为 1 行)*/
set @dt='1988-10-19' --换成10.19就是4天了select datediff(dd,DATEADD(Year,DATEDIFF(Year,@dt,getdate()),@dt),getdate())/*
-----------
4(所影响的行数为 1 行)*/
对哦,把两个参数换个位置,得到的是付数说明今年的生日已经过了,要是正,就还没过
select datediff(dd,DATEADD(Year,getdate(),DATEDIFF(Year,remdtime,getdate()),remdtime),),remdtime from T_Reminder
DateTime d2 =new DateTime(2009,11,1,20,16,35);
TimeSpan d3 = d2.Subtract(d1);
string reminder = "相差:"
+d3.Days.ToString()+"天"
+d3.Hours.ToString()+"小时"
+d3.Minutes.ToString()+"分钟"
+d3.Seconds.ToString()+"秒";
Response.Write(reminder);
declare @day int
set @day=5--提早五天提醒select * from student
where dateadd(year,datediff(year,e_birthday,getdate()),e_birthday)
between getdate() and dateadd(dd,@day,getdate())
select
case when ((DATEDIFF(d,{ fn NOW() },CAST(LEFT(CAST(YEAR({ fn NOW() }) AS varchar(4)) + ' ' + CAST(RemdTime AS varchar(10)), 10) AS datetime)))) >0 then ((DATEDIFF(d,{ fn NOW() },CAST(LEFT(CAST(YEAR({ fn NOW() }) AS varchar(4)) + ' ' + CAST(RemdTime AS varchar(10)), 10) AS datetime)))) else( 365+((DATEDIFF(d,{ fn NOW() },CAST(LEFT(CAST(YEAR({ fn NOW() }) AS varchar(4)) + ' ' + CAST(RemdTime AS varchar(10)), 10) AS datetime)))))end as lefts ,RemdTime
FROM T_Reminder order by 1 asc是我脑子没转过来....本来想的是对的 呵呵