如何在查询中插入单引号?
示例
select *, 'INSERT INTO San_Endereco (Endereco_Id, Logradouro_Id, Bairro_Id, CEP, Logradouro, Livre) VALUES
(' + CAST(Endereco_Id as varchar) + ','
+ CAST(Logradouro_Id as varchar) + ','
+ CAST(Bairro_Id as varchar) + ','
+ CAST (CEP as varchar) + ','
+ CAST(Logradouro as varchar) + ','
+ CAST(Livre as varchar) + ')' as teste
FROM San_Endereco
在每个CAST
之前我需要把单引号。我怎么能这样做?
答案 0 :(得分:9)
使用两个单引号:''
select *, 'INSERT INTO San_Endereco (Endereco_Id, Logradouro_Id, Bairro_Id, CEP, Logradouro, Livre) VALUES
(''' + CAST(Endereco_Id as varchar) + ''','''
+ CAST(Logradouro_Id as varchar) + ''','''
+ CAST(Bairro_Id as varchar) + ''','''
+ CAST (CEP as varchar) + ''','''
+ CAST(Logradouro as varchar) + ''','''
+ CAST(Livre as varchar) + ''')''' as teste
FROM San_Endereco
答案 1 :(得分:2)
使用双引号''
如果要插入的实际数据中包含单引号,则该命令通常会损坏。要解决这个问题,只需用两个引号替换任何单引号(不是双引号字符,而是两个单引号字符)。
答案 2 :(得分:1)
declare @var varchar(100)
select @var = 'txt'
select char(39)+@var+char(39) -- with single quote
答案 3 :(得分:0)
select *, 'INSERT INTO San_Endereco (Endereco_Id, Logradouro_Id, Bairro_Id, CEP, Logradouro, Livre) VALUES
(''' + CAST(Endereco_Id as varchar) + ''','
+ ....
答案 4 :(得分:0)
你必须在字符串中使用'
两次:
declare @var varchar(100)
select @var = 'txt'
select ' '+@var+' ' -- without single quote
select ''''+@var+'''' -- with single quote