是这样的,我某个字段(begindate)(varchar型)中的某些字符串出了问题。如下:2004.5.6
2005-5.7
2005.5-8我想把上面的三行记录改成:2004-5-6
2005-5-7
2005-5-8请问如何写UPDATE语句,谢谢?

解决方案 »

  1.   

    declare @t table(a varchar(10))
    insert into @t select '2004.5.6'
    union all select '2005-5.7'
    union all select '2005.5-8'update @t set a=replace(a,'.','-')
    select * from @t
      

  2.   

    update tablename
    set begindate = replace(begindate, '.', '-')
      

  3.   

    直接用Replace即可。update 表名 set begindate = replace(begindate,'.','-')
    REPLACE
    用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。语法
    REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )参数
    'string_expression1'待搜索的字符串表达式。string_expression1 可以是字符数据或二进制数据。'string_expression2'待查找的字符串表达式。string_expression2 可以是字符数据或二进制数据。'string_expression3'替换用的字符串表达式。string_expression3 可以是字符数据或二进制数据。