dimanche 3 juin 2012

SQL Server에서 특수 문자 행에 대한 검색

오늘 프로그래밍 문제를 해결하는 동안 당신이 특별한 구문을 사용하지 않고 % 또는 _와 같은 특수 문자가 포함된 문자열 열에 대한 LIKE 검색을 사용할 수 없습니다 것으로 나타났습니다. 문제 자체가 단 몇 분가 날아갔습니다, 그러나 기억 구문은 항상 그것에 대해 쓴다면 쉽습니다.

그래서 그래,이 게시물은 내 이익을 위해서만이다. 바라건대 너무 다른 사람을 도움이 될 것입니다.

자, 당신이 텍스트 "100 %"가 들어있는 필드를 찾고 싶어하므로 함께이 쿼리를 넣어 말 :

fieldname 원하는 tablename '% 100 %'에서 *를 선택

대신 당신이 원하는 무엇을, 당신은 "100 '뿐만 아니라 포함하는 행"100 % "가 포함된 모든 행을 가져 올게.

여기서 문제는 SQL Server가 백분율 기호, 밑줄, 그리고 특수 문자로 대괄호를 사용한다는 것입니다. 당신은 단순히 그들을 이스케이프하지 않고 LIKE 쿼리의 일반 문자로 사용할 수 없습니다.

대괄호의 탈출

당신은 문자 안에 일반 문자입니다 SQL Server를 말할 대괄호와 % 또는 _를 둘러싸고 있습니다.

fieldname은 '% 100 LIKE tablename FROM *를 선택 [%]%'

T - SQL 이스케이프 구문

또는, 당신은 쿼리에 탈출 연산자를 추가하고 탈출하려는 값을 전에 문자를 추가할 수 있습니다.

fieldname가 탈출 '' %의 % % 100 '와 ​​같은 tablename FROM *를 선택

탈출은 쿼리의 ''부분은 리터럴 문자로 대신 와일드 카드로 다음 문자를 해석하는 SQL 엔진을 알려줍니다.

필자는 개인적으로 두 번째 방법으로 거래를 쉽게 발견하고, 당신은뿐만 아니라 사각형 브라켓을 탈출하기 위해 그것을 사용할 수 있습니다.

Aucun commentaire:

Enregistrer un commentaire