请问:
假设表F01中有一列DELN,datetime字段属性。
里面的数据是:2008-6-30
2004-6-21
2004-7-23
.......
通过公式:=100000+(YEAR(DELN)-2000)*1000+(DELN-(DATE(YEAR(DELN)-1,12,31))) [excel表中的公式]
将2008-6-30转化成108182跪求一段SQL 语句来转化这一列。
谢谢拉!
假设表F01中有一列DELN,datetime字段属性。
里面的数据是:2008-6-30
2004-6-21
2004-7-23
.......
通过公式:=100000+(YEAR(DELN)-2000)*1000+(DELN-(DATE(YEAR(DELN)-1,12,31))) [excel表中的公式]
将2008-6-30转化成108182跪求一段SQL 语句来转化这一列。
谢谢拉!
DELN-(DATE(YEAR(DELN)-1,12,31))
--测试
declare @DELN datetime
set @DELN='2008-6-30'select 100000+(YEAR(@DELN)-2000)*1000+datediff(day,(cast(cast(YEAR(@DELN)-1 as varchar)+'-12-31' as datetime)),@DELN)--结果
-----------
108182(所影响的行数为 1 行)--你需要的语句
select 100000+(YEAR(DELN)-2000)*1000+datediff(day,(cast(cast(YEAR(DELN)-1 as varchar)+'-12-31' as datetime)),DELN) as result
from 你的表
select DELN=100000+(YEAR(DELN)-2000)*1000 + datediff(d, cast(Year(DELN)-1 as varchar)+'-12-31', DELN)
from F01
set @deln='2008-6-30'
select 100000+(year(@DELN)-2000)*1000+datediff(d,cast(cast(YEAR(@DELN)-1 as char(4))+'-12-31' as datetime),@DELN)-----------
108182(1 行受影响)
date是干什么的?两个值相减是什么意思?
DELN-(DATE(YEAR(DELN)-1,12,31)) 在excel,
date是把年、月、日转化成日期
两个日期值相减是计算日期差的天数