5

クエリに一重引用符を挿入するにはどうすればよいですか?

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に一重引用符を付ける必要があります。どうやってやるの ?

4

5 に答える 5

9

2 つの一重引用符を使用します。''

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 
于 2012-09-17T13:54:37.233 に答える
2

二重一重引用符を使用する''

挿入する実際のデータにシングル クォーテーションが含まれていると、コマンドが破損することがよくあります。この問題を解決するには、単一引用符を 2 つの引用符 (二重引用符ではなく単一引用符 2 つ) に置き換えるだけです。

于 2012-09-17T13:56:45.800 に答える
1
declare @var varchar(100)
select @var = 'txt'        
select char(39)+@var+char(39) -- with single quote
于 2016-01-15T09:37:23.980 に答える
0
select *, 'INSERT INTO San_Endereco (Endereco_Id, Logradouro_Id, Bairro_Id, CEP, Logradouro, Livre) VALUES 
        (''' + CAST(Endereco_Id as varchar) + ''','
    + ....
于 2012-09-17T13:55:26.767 に答える
0

You have to use ' in string two times:

declare @var varchar(100)
select @var = 'txt'        
select ' '+@var+' ' -- without single quote
select ''''+@var+'''' -- with single quote
于 2012-09-17T13:57:18.650 に答える