簡體   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