[SQL] 단일 인용 SQL 서버 2005 텍스트를 삽입하는 방법
SQL단일 인용 SQL 서버 2005 텍스트를 삽입하는 방법
나는 작은 따옴표와 텍스트를 삽입 할 예 존은 SQL 서버 2005 데이터베이스에서 테이블의
해결법
-
==============================
1.Kirtan는 지적 추가 하나와 작은 따옴표를 탈출 당신이 다음 sp_executesql을 통해 (처음부터 좋은 생각이 아니다)을 동적 SQL을 실행하려는 경우와 코드 아래는 당신을 위해 일 것
Kirtan는 지적 추가 하나와 작은 따옴표를 탈출 당신이 다음 sp_executesql을 통해 (처음부터 좋은 생각이 아니다)을 동적 SQL을 실행하려는 경우와 코드 아래는 당신을 위해 일 것
sp_executesql N'INSERT INTO SomeTable (SomeColumn) VALUES (''John''''s'')'
-
==============================
2.대답은 정말 당신이 INSERT를하고있는 방법에 따라 달라집니다.
대답은 정말 당신이 INSERT를하고있는 방법에 따라 달라집니다.
당신은 문자 그대로 다음 SQL을 지정하는 경우에는 이중 틱 방법을 사용합니다 :
-- Direct insert INSERT INTO Table1 (Column1) VALUES ('John''s') -- Using a parameter, with a direct insert DECLARE @Value varchar(50) SET @Value = 'John''s' INSERT INTO Table1 (Column1) VALUES (@Value) -- Using a parameter, with dynamic SQL DECLARE @Value varchar(50) SET @Value = 'John''s' EXEC sp_executesql 'INSERT INTO Table1 (Column1) VALUES (@p1)', '@p1 varchar(50)', @Value
당신이 코드에서 INSERT를 수행하는 경우, 매개 변수를 사용 :
// Sample ADO.NET using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand command = conn.CreateCommand()) { command.CommandText = "INSERT INTO Table1 (Column1) VALUES (@Value)"; command.Parameters.AddWithValue("@Value", "John's"); command.ExecuteNonQuery(); } }
데이터는 사용자가 입력, 직접 또는 간접적으로 사용하는 매개 변수를 포함합니다. 매개 변수는 SQL 주입 공격으로부터 보호합니다. 절대로 지금까지 사용자 입력 동적 SQL을 구축합니다.
-
==============================
3.이것은 나를 위해 일한 :
이것은 나를 위해 일한 :
INSERT INTO [TABLE] VALUES ('text','''test.com''', 1)
기본적으로, 당신은 당신이 삽입하고 두로 교체 할 작은 따옴표를 취할. 당신은 텍스트 문자열 ( '텍스트')를 삽입하고 주위에 작은 따옴표를 추가하려는 경우 그래서, 그것은 ( '' '텍스트' '') 일 것이다. 도움이 되었기를 바랍니다.
-
==============================
4.
INSERT INTO Table1 (Column1) VALUES ('John''s')
또는 당신은 저장 프로 시저를 사용하고 매개 변수를 전달할 수 있습니다 -
usp_Proc1 @Column1 = 'John''s'
당신이 INSERT 쿼리가 아닌 저장 프로 시저를 사용하는 경우, 당신은 당신이 그것을하지 않으면, 두 따옴표와 함께 다른 사람의 확인을 인용 탈출해야합니다.
-
==============================
5.이 답변은 SQL 서버 2005, 2008, 2012 년에 작동합니다.
이 답변은 SQL 서버 2005, 2008, 2012 년에 작동합니다.
때때로 값은 많은 작은 따옴표가있다. 오히려 다음 '존'의 '상술 한 바와 같이 각 따옴표에 작은 따옴표를 추가보다. 그리고 값의 많은 작은 따옴표를 처리하기 위해 REPLACE 함수를 사용하는 예제가있다.
다음을 시도하십시오. 이 업데이트 문입니다하지만 당신은 INSERT 문에서 사용할뿐만 아니라 수 있습니다.
SET QUOTED_IDENTIFIER OFF DECLARE @s VARCHAR(1000) SET @s = "SiteId:'1'; Rvc:'6'; Chk:'1832'; TrEmp:'150'; WsId:'81'; TtlDue:'-9.40'; TtlDsc:'0'; TtlSvc:'0'; TtlTax:'-0.88'; TtlPay:'0'; TipAmt:'0.00'; SvcSeq:'09'; ReTx:'N'; TraceId:'160110124347N091832';" UPDATE TransactionPaymentPrompt set PromptData = @s from TransactionPaymentPrompt tpp with (nolock) where tpp.TransactionID = '106627343'
-
==============================
6.당신은 SQL 서버에서 아포스트로피 문자 ( ')를 탈출하는 방법을 물었다. 모든 답변은 위의 것을 설명하는 훌륭한 일을하고 있어요.
당신은 SQL 서버에서 아포스트로피 문자 ( ')를 탈출하는 방법을 물었다. 모든 답변은 위의 것을 설명하는 훌륭한 일을하고 있어요.
그러나, 상황에 따라, 오른쪽 작은 따옴표 문자 ( ') 적합 할 수 있습니다.
(없음 이스케이프 문자가 필요)
-- Direct insert INSERT INTO Table1 (Column1) VALUES ('John’s')
• 아포스트로피 (+ 0027 U)
위키 백과에 아포스트로피를 ASCII
• 오른쪽 작은 따옴표 (+ 2019 U)
유니 코드를 마우스 오른쪽 위키 백과에 작은 따옴표
from https://stackoverflow.com/questions/775687/how-to-insert-text-with-single-quotation-sql-server-2005 by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떤 SQL을 선택 기호를 수행 || 평균? (0) | 2020.06.08 |
---|---|
[SQL] SQL Server의 DECODE () 함수 (0) | 2020.06.08 |
[SQL] 테이블의 끝에 NULL 값을 정렬 (0) | 2020.06.08 |
[SQL] SQL 서버에서 외부 키를 사용하는 히트 심각한 성능이 있습니까? (0) | 2020.06.08 |
[SQL] 하단에 널 (null)와 ORDER BY의 ASC (0) | 2020.06.08 |