gpt4 book ai didi

mysql - CONCAT 或 REPLACE 基于 MySQL 中值的存在

转载 作者:行者123 更新时间:2023-11-29 17:59:42 26 4
gpt4 key购买 nike

我有一个简单的 sql 查询,如下所示

SELECT REPLACE('TEST ABC XYZ NO JJJG', 'DEF', 'YES')

这将返回与旧字符串相同的字符串。我想在这里输出“TEST ABC XYZ NO JJJG YES”。如果文本存在,则应替换文本,否则应将其附加到字符串末尾。

最佳答案

假设包含“TEST ABC XYZ NO JJJG”,那么您可以编写如下查询:

SELECT
IF(
REPLACE(column, 'DEF', 'YES') = column, -- If the replacement yielded no changes
CONCAT(column, ' ', 'YES'), -- Simply append the text
REPLACE(column, 'DEF', 'YES') -- Otherwise returned the replaced result
) AS replaced_column

编辑:您的评论(只需将 REPLACE() 更改为 INSTR() ):

SELECT
IF(
INSTR(column, 'DEF') = column, -- If the column contains the text
REPLACE(column, 'DEF', 'YES'), -- Replace the result
CONCAT(column, ' ', 'YES') -- Otherwise append the text
) AS replaced_column

关于mysql - CONCAT 或 REPLACE 基于 MySQL 中值的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48494845/

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