比如,原来是写 中国玉米网5月12日消息,中国玉米网5月13日消息这样,现在我想批量替换为“中国玉米网消息”,时间都去掉,可是如果一个一个日期的替换很麻烦,有没有自动识别5月*日这样的替换? 

解决方案 »

  1.   

    先提取中文字符 然后将月和日字REPLACE掉
      

  2.   


    IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = 'TBA')
    BEGIN
    DROP TABLE TBA
    END
    GO
    CREATE TABLE TBA
    (
    ID INT,
    Memo VARCHAR(100)
    )
    GOINSERT INTO TBA
    SELECT 1,'中国玉米网5月2日消息' UNION
    SELECT 2,'中国玉米网5月12日消息' UNION
    SELECT 3,'中国玉米网5月22日消息' UPDATE TBA SET Memo = REPLACE(Memo,SUBSTRING(Memo,PATINDEX('%5月%日%',Memo),LEN(Memo) - PATINDEX('%5月%日%',Memo) - 1),'')SELECT * FROM TBAID Memo
    1 中国玉米网消息
    2 中国玉米网消息
    3 中国玉米网消息
      

  3.   

    declare @s varchar(1000)
    set @s='中国玉米网5月12日消息,中国玉米网5月13日消息这样,现在我想批量替换为“中国玉米网消息'select replace(replace(replace(replace(replace(@s,'月',''),'日',''),'1',''),'2',''),'5','')如果还有其他的数字,接着写replace就行,虽然麻烦些,但是简单
      

  4.   


    update 表名 set 字段='中国玉米网消息' where 字段 like '中国玉米网%消息'不行么