我在同一列中有两个不同的值。 示例:ColumnName = COUNTY 示例数据:“NSW New South Wales” 如何设置更新/替换查询以删除NSW缩写和空格并仅限“新南威尔士”? 我每个县有不同的缩写,我不想一个接一个地做一个替换功能。
答案 0 :(得分:1)
尝试将SUBSTRING_INDEX
与REPLACE()
UPDATE YourTable t
SET t.YourColumn = LTRIM(REPLACE(t.YourColumn,SUBSTRING_INDEX(t.YourColumn,' ',1),''))
对于SQL-Server,请使用SUBSTRING
和CHARINDEX
:
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