SQL Server의 이스케이프 문자
이스케이프 문자와 함께 따옴표를 사용하고 싶습니다. 어떻게 할 수 있습니까?
SQL Server에서 오류를 발표합니다.
앞뒤의 닫히지 않은 인용 부호입니다.
varchar 변수에 SQL 쿼리를 작성하고 해당 오류를 예배합니다.
앞뒤의 닫히지 않은 인용 부호입니다.
따옴표를 이스케이프 문자로 사용하고 싶습니다.
미리 감사드립니다
실행하기 위해 SQL을 VARCHAR에 연결하는 경우 (즉, 동적 SQL), SQL 매개 변수화를 권장합니다. 이 SQL 인젝션을 방지하는 데 도움이되는 이점이 있고 이와 같이 따옴표를 이스케이프하는 것에 대해 걱정할 필요가 있다는 것을 의미합니다 (따옴표를 두 배로 늘림 수행).
예를 들어하는 대신
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT * FROM MyTable WHERE Field1 = ''AAA'''
EXECUTE(@SQL)
이 시도 :
DECLARE @SQL NVARCHAR(1000)
SET @SQL = 'SELECT * FROM MyTable WHERE Field1 = @Field1'
EXECUTE sp_executesql @SQL, N'@Field1 VARCHAR(10)', 'AAA'
다음과 같이 인용문을 이스케이프 할 수 있습니다.
select 'it''s escaped'
결과는
it's escaped
문자를 정의 이스케이프 할 수 있지만 LIKE
절 과 함께 만 사용할 수 있습니다 .
예 :
SELECT columns FROM table
WHERE column LIKE '%\%%' ESCAPE '\'
여기 %
에서 전체 언어를 검색 하고 이것이 ESCAPE
에서 식별자를 사용할 수있는 방법 입니다 SQL Server
.
SSL 내부로 교체 '
하면 ''
됩니다.
SELECT colA, colB, colC
FROM tableD
WHERE colA = 'John''s Mobile'
REPLACE(@name, '''', '''''')
SQL을 동적으로 생성하는 경우 에도 사용할 수 있습니다.
like 문 내에서 이스케이프 ESCAPE 구문을 많이 사용합니다.
SQL에서는 노출되어 있습니다. Google 또는 http://it.toolbox.com/wiki/index.php/How_do_I_escape_single_quotes_in_SQL_queries%3F 에서 추가 정보
MSSQL에서 따옴표를 이스케이프하는 것은 큰 따옴표 로 수행되므로 ''
또는 ""
는 각각 이스케이프 된 '
및 을 생성 "
합니다.
코드를 쉽게 유지하기 위해 대괄호 []
를 사용 하여 참조하는 것을 '
인용 할 수 있습니다 .
참고 URL : https://stackoverflow.com/questions/5139770/escape-character-in-sql-server
'ProgramingTip' 카테고리의 다른 글
MySQL은 가장 최근 행에만 가입 하시겠습니까? (0) | 2020.10.13 |
---|---|
Xcode에서 메소드를 폐기하는 방법 (0) | 2020.10.13 |
C # String.IsNullOrEmpty Javascript (0) | 2020.10.13 |
AsyncTask에서 발생하는 가져 오기 (0) | 2020.10.13 |
"호스트 이름"을 통해 Docker 컨테이너간에 통신하는 방법 (0) | 2020.10.13 |