SQL删除每个缩写字符串直到空格

时间:2016-07-06 09:27:32

标签: sql sql-server

我在同一列中有两个不同的值。 示例:ColumnName = COUNTY 示例数据:“NSW New South Wales” 如何设置更新/替换查询以删除NSW缩写和空格并仅限“新南威尔士”? 我每个县有不同的缩写,我不想一个接一个地做一个替换功能。

3 个答案:

答案 0 :(得分:1)

尝试将SUBSTRING_INDEXREPLACE()

一起使用
UPDATE YourTable t
SET t.YourColumn = LTRIM(REPLACE(t.YourColumn,SUBSTRING_INDEX(t.YourColumn,' ',1),''))

对于SQL-Server,请使用SUBSTRINGCHARINDEX

UPDATE YourTable t
SET t.yourColumn = SUBSTRING(t.YourColumn,CHARINDEX(t.YourColumn,' ') + 1,100)

答案 1 :(得分:0)

SELECT substr(data FROM position('' in data)+1)FROM test.randomdata;

UPDATE test.randomdata SET data = substr(data FROM position('' in data)+1);

位置+ 1保留不带空格的字符串;)

答案 2 :(得分:0)

试试这个

UPDATE `tabl1` SET `col1` = TRIM(REPLACE("NSW New South Wales","NSW", "")) WHERE `col1` LIKE 'NSW%'

或者这个:

UPDATE  `tabl1` `t`
  SET `t`.`col1` = TRIM(
    REPLACE(
      `t`.`col1`,
      SUBSTRING_INDEX(`t`.`col1`, ' ', 1),
      ""
    )
  )
WHERE LENGTH(SUBSTRING_INDEX(`t`.`col1`, ' ', 1)) <= 3