总结/*从实时库中读取数据,实时库报数规则为当前报讯时间为前一时段记录时间, 因此从实时库同步到预报库时,需要对时间进行处理,同步得到实际报讯时间。 如:实时库中 IDtm,sttdrcd 2007-08-10 08:00:00,1 //日 2007-08-01 08:00:00,4 //月 2007-08-01 08:00:00,5 //旬 同步时,预报库为 IDtm,sttdrcd 2007-08-09 08:00:00,1 2007-07-21 08:00:00,4 2007-07-01 08:00:00,5*/SELECT ID,IDtm as old_IDtm,sttdrcd,CASE sttdrcd WHEN 1 THEN DATEADD(dd,-1,IDtm) WHEN 4 THEN (CASE WHEN DATEPART(dd,IDtm) = 11 THEN DATEADD(dd,-10,IDtm) WHEN DATEPART(dd,IDtm) = 21 THEN DATEADD(dd,IDtm) = 1 THEN DATEADD(dd,20,DATEADD(mm,DATEDIFF(mm,IDtm)),0)) /*得到上月份第一天,然后加上20天*/ END) WHEN 5 THEN DATEADD(mm,IDtm) WHEN 7 THEN DATEADD(yy,IDtm) END AS new_IDtmFROM st_deal_bORDER BY ID
以上是内存溢出为你收集整理的预报项目中sqlserver时间的处理全部内容,希望文章能够帮你解决预报项目中sqlserver时间的处理所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)