系统时间减去某一日期,得到年份的差值,比如2007-4-17减去2006-4-19的年份差值为0
解决方案 »
- 求高手指点:为啥用MWAS测了asp+sqlserver跑的不如asp+access?
- 现在用的方法是一个表遍历两遍实现的,有没有更好的方法?
- sql 基础
- 求一SQL语句,希望高手解答,
- 如何定时自动执行一个存储过程,将数据导出生成到某个excel表里.
- 求一SQL语句:将数据库 dbA 的表 tbA 的字段 A 复制到 数据库 dbB 的表 tbB 的字段B
- sql查询问题
- sql如何分割字段的一串数字?
- 通过sql语句修改标识字段为非标识字段
- 附加数据库提示“sql server检测到基于一致性的逻辑I/O错误”(分大把有,一经解决,立马给分)
- 自动增加编号问题
- 更新语句问题(大侠们帮我看看)
case when substring(convert(varchar(10),dt1,120),6,5) > substring(convert(varchar(10),dt2,120),6,5) then datediff(year,dt1,dt2) - 1 else datediff(year,dt1,dt2) end
as 年份的差值
from tb
--------
1 1
declare @dt2 as datetime
set @dt1 = '2007-4-17'
set @dt2 = '2006-4-19'select case when substring(convert(varchar(10),@dt2,120),6,5) > substring(convert(varchar(10),@dt1,120),6,5) then datediff(year,@dt2,@dt1) - 1 else datediff(year,@dt2,@dt1) end as 年份的差值年份的差值
-----------
0(所影响的行数为 1 行)
declare @dt2 as datetime
set @dt1 = '2007-4-17'
set @dt2 = '2006-4-10'select case when substring(convert(varchar(10),@dt2,120),6,5) > substring(convert(varchar(10),@dt1,120),6,5) then datediff(year,@dt2,@dt1) - 1 else datediff(year,@dt2,@dt1) end as 年份的差值年份的差值
-----------
1(所影响的行数为 1 行)
select @start='2006-4-19',@end='2007-4-17'
select datediff(year,'1900-01-01',@end-@start)相差年
-----------
0(1 行受影响)declare @start datetime,@end datetime
select @start='2006-4-19',@end='2007-4-19'--改为19
select [相差年]=datediff(year,'1900-01-01',@end-@start)相差年
-----------
1(1 行受影响)
select datediff(day,'2006-4-19','2007-4-17')/365
-----------
0(所影响的行数为 1 行)
select datediff(year,'2006-4-19','2007-4-17') as 年份差