将单引号附加到逗号分隔的数据Mysql
我需要在逗号分隔的数据后面加上单引号 我有一个存储数据的变量,如下所示将单引号附加到逗号分隔的数据Mysql,mysql,sql,Mysql,Sql,我需要在逗号分隔的数据后面加上单引号 我有一个存储数据的变量,如下所示 1234,1234,1234,1234,1234 '1234','1234','1234','1234' 我需要添加单引号,如下所示 1234,1234,1234,1234,1234 '1234','1234','1234','1234' 我编写了以下简单的查询 declare @id VARCHAR(155); set @pid = '1234,1234,1234'; select concat(char(39)
1234,1234,1234,1234,1234
'1234','1234','1234','1234'
我需要添加单引号,如下所示
1234,1234,1234,1234,1234
'1234','1234','1234','1234'
我编写了以下简单的查询
declare @id VARCHAR(155);
set @pid = '1234,1234,1234';
select concat(char(39),concat(@id,',',''''))
您可以使用replace()
和concat()
:
replace()
在每个逗号周围添加单引号。concat()
将它们添加到开头和结尾
我怀疑这个问题是关于MySQL的,因为MySQL甚至不允许
declare@id VARCHAR(155)代码>在普通语句中。这更像是SQL Server(MSSQL)的有效语法。@RaymondNijland,但Microsoft SQL Server使用+
进行字符串连接,而不是concat()
“Microsoft SQL Server使用+进行字符串连接,而不是concat()”不完全正确,因为SQL Server 2012+还支持@BillKarwinWell,谢谢您提供的信息。同样,Microsoft允许将declare
与带有@
符号的变量一起使用,而MySQL则不允许。你可能是对的,OP可能在使用微软,他们错误地给问题加了标签。我们可能永远不会知道,因为他们的低声誉分数表明他们是一个驱动用户。