字符型  201102 ,这个值运算后与字符型进行比较因此:
                 1.如何转化成数值型,减去100后转回字符型。
                 2.如何转化成日期型,减去一个月后转回字符型。 

解决方案 »

  1.   

    本帖最后由 josy 于 2011-03-08 13:30:52 编辑
      

  2.   

    select cast((cast('201102' as int)-100) as varchar(10))select convert( varchar(6),dateadd(month,-1,cast('201102' as datetime)),112)
    /*
    ----------
    201002(1 行受影响)
    ------
    202010
      

  3.   

    select cast(cast('201102' as int)-100 as varchar(10))
    select convert(varchar(6),dateadd(month,1,convert(datetime,'201102'+'01',112)),112)
    时间格式找了好久。- -!
      

  4.   

    ---varchar(20) 自己改
    select convert( varchar(20),dateadd(month,-1,cast('201102' as datetime)),112)
    /*--------------------
    20201002
      

  5.   

    201102转化为日期型好像是2020年11月02日,转化不了2011年02月SELECT CONVERT(VARCHAR(10),CONVERT(INT,'201102')- 100) UNION ALL
    SELECT CONVERT(VARCHAR(6),(SELECT DATEADD(month,-10,CONVERT(DATETIME,'201102',112))),112)---------------------------------------------------------
    201002
    202001