gpt4 book ai didi

mysql - SQL删除字符串的一部分

转载 作者:行者123 更新时间:2023-11-29 02:01:39 26 4
gpt4 key购买 nike

我有一个包含此类条目的字段的表:

"text text text"
"text text - Cap. 125"
"text - Cap. 1"

我需要剪切 "- Cap. (Number)"

如您所见,在某些情况下没有“Cap.”,而在其他情况下,数字超过 1 位。

我尝试使用 REPLACE()TRIM(),但 REPLACE() 仅适用于 "- cap。 " 但不是数字;和 TRIM() 剪切特定数量的字符。

此外,我想我需要像 WHERE field LIKE '% - CAP.%' 这样的东西来验证我正在更改正确的字段,因为并非所有字段都需要更改。

有什么建议吗?

最佳答案

SELECT CASE
WHEN myField RLIKE ' - Cap\\. [[:digit:]]{1,3}$' THEN
LEFT(myField, 1
+ CHAR_LENGTH(myField)
- CHAR_LENGTH(' - Cap. ')
- LOCATE(REVERSE(' - Cap. '), REVERSE(myField))
)
ELSE myField
END
FROM myTable

查看 sqlfiddle .

关于mysql - SQL删除字符串的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com