gpt4 book ai didi

mysql - 与mysql中的case语句连接

转载 作者:行者123 更新时间:2023-11-30 23:27:40 26 4
gpt4 key购买 nike

我想用 sql 查询输出生成 .sql 文件。我在 sql 中使用 concat 语句来执行此操作。我在某些查询中使用了 case 语句,这对我来说是个问题。

select concat('insert into x values(',CASE a when B then 'Book' else 'NONE' end , ') on duplicate key update B = values(B)') from author;

select 'insert into x values('+CASE a when B then 'Book' else 'NONE' end +') on duplicate key update B = values(B)' from author;

它也不起作用,因为在 mysql 中 + 仅用于添加数字而不用于字符串。

有没有办法做到这一点?。

最佳答案

第一个版本的问题是字符串中的引号。例如,您希望您的字符串包含“'Book'”

select concat('insert into x values(',
(CASE a when 'B' then '''Book''' else '''NONE''' end) ,
') on duplicate key update B = values(''B'')'
)
from author;

我认为这会按原样引用所有字符串。我猜 A 列是一个应该与“B”而不是 B 列进行比较的字符。

关于mysql - 与mysql中的case语句连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12394812/

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