我有这个查询通过>。
选择子串的一部分SELECT SUBSTRING_INDEX(translation, '>', 1) FROM categorias
我想要的是将子字符串更新为大写字母。
但是这个查询有一个sintax错误
UPDATE A.translation
SET A.translation = UPPER(SELECT SUBSTRING_INDEX(A.translation, '>', 1))
FROM categorias as A
任何帮助?
数据示例:
Raw Materials & Chemicals > Rubber & Elastomers
应更新为
RAW MATERIALS & CHEMICALS > Rubber & Elastomers
答案 0 :(得分:3)
我相信你可以移除内部SELECT
,并且可以稍微改变你的UPDATE
语法:
UPDATE categorias
SET translation = UPPER(SUBSTRING_INDEX(translation, '>', 1))
根据您的评论,我认为您需要以下内容:
UPDATE categorias
SET translation
= CONCAT(
UPPER(SUBSTRING_INDEX(translation, '>', 1)),
SUBSTRING(translation, INSTR(translation, '>')));
答案 1 :(得分:2)
UPDATE
引用该表,而不是您要更新的列,例如:
UPDATE categorias
SET translation = UPPER(SUBSTRING_INDEX(translation, '>', 1))
另请注意,您不需要将SELECT
与字符串函数一起使用,如果没有它,则返回结果。