我从EXECL中导入的日期数据,表中显示的是行如'5/5/2007'的数据,
如何将此数据update为‘20070505’的格式保存在表中?
(该字段类型为varchar)谢谢

解决方案 »

  1.   

    update a
    set 字段=convert(varchar(10),convert(datetime,字段),112)
    from 表 a
      

  2.   


    declare @dt datetime
    set @dt='5/5/2007'
    select convert(char(8), @dt, 112)
    --result
    20070505(1 row(s) affected)
      

  3.   


    declare @a  datetime
    , @b varchar(100)set @a = '5/5/2007'
    select @a
    select @b = convert(varchar, @a, 120) 
    select @bselect @b = substring(@b, 1, 10)
    --@b = substring(convert(varchar, @a, 120), 1, 10)
    select @bselect @b = replace(@b, '-', '') 
    --@b = replace(substring(convert(varchar, @a, 120), 1, 10), '-', '')
    select @b
      

  4.   

    --Result                                                       
    ------------------------------------------------------ 
    2007-05-05 00:00:00.000(1 件処理されました)                               
    ------------------------------ 
    2007-05-05 00:00:00(1 件処理されました)                               
    ------------------------------ 
    2007-05-05(1 件処理されました)                               
    ------------------------------ 
    20070505(1 件処理されました)
      

  5.   

    UPDATE [TABLENAME]
    SET 字段=convert(varchar(10),convert(datetime,字段),112)--THAT'S OVER