繁体   English   中英

将子字符串更改为大写

[英]change substring to upper case

我有此查询通过>选择子字符串的一部分。

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 

我相信您可以删除内部的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, '>')));

参见带有演示的SQL Fiddle

UPDATE引用表,而不是要更新的列,例如:

UPDATE categorias 
SET translation = UPPER(SUBSTRING_INDEX(translation, '>', 1)) 

还要注意,您不需要将SELECT与字符串函数一起使用,它们会在不使用SELECT情况下返回结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM