2012-09-17 87 views
4

如何在查询中插入单引号?查询中的单引号

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我需要把单引号之前。我怎样才能做到这一点 ?

+1

什么是你想要做什么呢? –

回答

8

使用两个单引号:''

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 
0
select *, 'INSERT INTO San_Endereco (Endereco_Id, Logradouro_Id, Bairro_Id, CEP, Logradouro, Livre) VALUES 
     (''' + CAST(Endereco_Id as varchar) + ''',' 
    + .... 
2

使用双单引号''

如果一个单引号包含在实际数据要插入,命令经常被损坏。为了解决这个问题,只需用两个引号替换任何单引号(不是双引号字符,而是两个单引号字符)。

+1

-1:不应发布链接回答。改为发表评论。链接死了,比你的答案值得。 –

+1

编辑我的答案。谢谢你的解释,为什么我的帖子不好:) –

+0

删除downvote –

1
declare @var varchar(100) 
select @var = 'txt'   
select char(39)[email protected]+char(39) -- with single quote