我有一个数据集如下
S.No Column_A Column_B
1 San Diego Sewage Department Hello
2 California Sewage Plant Hi
3 Paulo Alto Sewage YOLO
现在我需要找到并更换污水处理部门,污水处理厂,污水处理厂。
所以最终结果应该是
S.No Column_A Column_B
1 San Diego SD Hello
2 California SD Hi
3 Paulo Alto SD YOLO
我尝试在派生列中写这样的内容,但并非所有内容都被转换
FINDSTRING(Column_A,"Sewage%",1)>0 ? REPLACE(Column_A,"Sewage%","") + "SD" : Column_A
答案 0 :(得分:2)
我认为问题在于您在函数中使用SQL通配符,据我所知他们不接受通配符。
我认为以下内容是等效的:
FINDSTRING(Column_A,"Sewage",1) > 0 ?
SUBSTRING(Column_A, 1, FINDSTRING(Column_A,"Sewage",1) - 1) + "SD" :
Column_A
答案 1 :(得分:0)
如何运行以下三个查询。你必须确保最后一个是最后一次运行:
UPDATE MyTable
SET column_A = REPLACE(column_A, 'Sewage Department', 'SD')
UPDATE MyTable
SET column_A = REPLACE(column_A, 'Sewage Plant', 'SD')
UPDATE MyTable
SET column_A = REPLACE(column_A, 'Sewage', 'SD')