zoukankan      html  css  js  c++  java
  • 一个sql日期转换问题,不是很明白

      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类型就一点问题都没有。

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

      

  • 相关阅读:
    轮询算法
    随机算法
    加权随机算法
    平滑加权轮询算法
    预训练模型与Keras.applications.models权重资源地址
    多通道卷积操作解析
    Squeeze-and-Excitation Networks
    实验数据集概况
    Keras-图片预处理
    Keras常用层
  • 原文地址:https://www.cnblogs.com/havenenjoy/p/4166372.html
Copyright © 2011-2022 走看看