我在询问有关concatenation function
和regex
的问题。
我有一个fied(reference
)看起来像:
FW123
TS76
FWE8E
K987
HT78
FW345
我希望将最后以FW
开头的所有行与EU
连接起来。
所以结果必须如下:
FW123EU
TS76
FWE8EEU
K987
HT78
FW345EU
这是我的命令行:
UPDATE ps2_product
SET `reference` = CONCAT(^FW[A-Z0-9],EU)
这是我第一次处理正则表达式。 语法是否正确?
谢谢,
答案 0 :(得分:3)
您需要添加where条件。
UPDATE ps2_product
SET `reference` = CONCAT(reference,'EU')
WHERE reference REGEXP '^FW[A-Z0-9]+$'
答案 1 :(得分:2)
您可以使用LIKE
:
UPDATE ps2_product t
SET t.`reference` = CONCAT(t.`reference`,'EU')
WHERE t.reference LIKE 'FW%'
答案 2 :(得分:1)
您可以通过以下方式执行此操作:
1)使用LIKE和CONCAT:
UPDATE ps2_product
SET reference = CONCAT(reference,'EU')
WHERE reference LIKE 'FW%';
2)使用CONCAT,REGEX和WHERE:
UPDATE ps2_product
SET references = CONCAT(references,'EU')
WHERE references REGEXP '^FW[A-Z0-9]';
3)使用REGEX,CONCAT和案例:
UPDATE ps2_product
SET references =
CASE
WHEN references REGEXP '^FW[A-Z0-9]' = 1 THEN CONCAT(references,'EU')
WHEN references REGEXP '^FW[A-Z0-9]' = 0 THEN references
END;