首页 > 数据库技术 > 详细

一个sql日期转换问题,不是很明白

时间:2014-12-16 09:51:48      阅读:286      评论:0      收藏:0      [点我收藏+]

  select space(8) as fsrq into #test0 where 0 = 1

  declare @fsrq char(8)
  set @fsrq=‘20141111‘
    while convert(char(8), @fsrq, 112) <= ‘20141211‘
      begin
        insert #test0 (fsrq) select convert(char(8), @fsrq, 112)
        select @fsrq = dateadd(day, 1, @fsrq)
      end

  select * from #test0

  这样一段代码,进入了死循环,把代码改为下面的这种,也是跳不出。

select space(8) as fsrq into #test0 where 0 = 1

  declare @fsrq char(8)
  set @fsrq=20141111
  while @fsrq <= 20141211
    begin
      insert #test0 (fsrq) select @fsrq
      select @fsrq = dateadd(day, 1, @fsrq)
      select @fsrq = convert(char(8),@fsrq,112)
    end
   
select * from #test0

  事实上第一种只要把char(8)换成datetime类型就一点问题都没有。

  我是错在哪里了,请指点一二啊

  

一个sql日期转换问题,不是很明白

原文:http://www.cnblogs.com/havenenjoy/p/4166372.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!