[SQL] SQL Server와 같은 포함 괄호 문자
SQLSQL Server와 같은 포함 괄호 문자
나는 다음과 같은 열이있는 테이블이 SQL Server 2008을 사용 :
sampleData (nvarchar(max))
다음과 같이 이러한 행 중 일부에서이 열의 값은리스트 형식이 :
["value1","value2","value3"]
난 그냥 여는 괄호를 감지하여, 다음과 같은 형식의 목록과 모든 행을 반환하는 간단한 쿼리를 작성하는 것을 시도하고있다.
SELECT * from sampleTable where sampleData like '[%'
'['특수 문자이기 때문에 위의 쿼리 작업을하지 않습니다, 나는 내 인생 내 쿼리 내가 원하는 것을 있도록 브래킷을 탈출하는 방법을 알아낼 수 없습니다.
어떤 제안을 주셔서 감사합니다!
해결법
-
==============================
1.
... like '[[]%'
당신이 사용하는 [] 특수 문자 (또는 범위)를 둘러싸는
SQL 서버 등에서는 '리터럴로 와일드 카드 문자 사용 "을 참조하십시오
에디스 2011 년 24 뉴
참고 : 닫기 괄호를 탈출 할 필요가 없습니다 ...
-
==============================
2.이외에도 GBN의 대답에서, 다른 방법은 ESCAPE 옵션을 사용하는 것입니다 :
이외에도 GBN의 대답에서, 다른 방법은 ESCAPE 옵션을 사용하는 것입니다 :
SELECT * from sampleTable where sampleData like '\[%' ESCAPE '\'
자세한 내용은 설명서를 참조하십시오
-
==============================
3.여기에 그냥 더 참고 ... 당신은 문자 집합 내에서 브래킷 (또는 다른 특별)를 포함 할 경우, 당신은 단지 (이미 세트를 나타 내기 위해 괄호를 사용하고 있기 때문에) ESCAPE를 사용할 수있는 옵션이 있습니다. 디폴트 이스케이프 문자 (그것은 C의 배경에서 오는, 내가 처음 생각으로 기본적으로 백 슬래시되지 않음)가 없기 때문에 또한 당신은 ESCAPE 절을 지정해야합니다.
여기에 그냥 더 참고 ... 당신은 문자 집합 내에서 브래킷 (또는 다른 특별)를 포함 할 경우, 당신은 단지 (이미 세트를 나타 내기 위해 괄호를 사용하고 있기 때문에) ESCAPE를 사용할 수있는 옵션이 있습니다. 디폴트 이스케이프 문자 (그것은 C의 배경에서 오는, 내가 처음 생각으로 기본적으로 백 슬래시되지 않음)가 없기 때문에 또한 당신은 ESCAPE 절을 지정해야합니다.
예를 들면 내가 열이 인수하자 말 영숫자를 위해, '허용'문자 집합의 아무것도 외부가 포함 된 행을 꺼내려면 ... 우리는이 시작할 수
SELECT * FROM MyTest WHERE MyCol LIKE '%[^a-zA-Z0-9]%'
우리는 (때문에 선두 캐럿 ^ 문자) 목록에있는 모든 문자를하지 않은 것을 반환하는 그래서.
우리가 다음 허용되는 문자 세트에 특수 문자를 추가하려면, 우리는 괄호 그래서 우리는 다음과 같이 이스케이프 문자를 사용해야합니다 중첩 할 수 없습니다 ...
SELECT * FROM MyTest WHERE MyCol LIKE '%[^a-zA-Z0-9\[\]]%' ESCAPE '\'
백 슬래시와 괄호를 (개별적으로) 선행 우리는 이스케이프 문자 백 슬래시를 사용하고 있음을 나타내는 것은 우리가 문자 세트를 표시하는 기능을 괄호 안에 그들을 탈출 할 수 있습니다.
죄송합니다 벙어리 예를 들어,하지만 희망 누군가를하는 데 도움이
from https://stackoverflow.com/questions/3661125/sql-server-like-containing-bracket-characters by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 다른 열을 기준 서열의 PostgreSQL (0) | 2020.05.10 |
---|---|
[SQL] 집계 함수없이 SQL 서버에서 피벗 쿼리를 만드는 방법 (0) | 2020.05.10 |
[SQL] SQL 독특한 VARCHAR 대소 문자 구분 질문 (0) | 2020.05.10 |
[SQL] 어떻게 자동으로 UID12345678 같은 SQL에 고유 ID를 생성하는? (0) | 2020.05.10 |
[SQL] 테이블의 각 그룹에 대한 상위 N 개의 행을 선택한 (0) | 2020.05.10 |