2009-10-05 5 views
0

한 열 내에서 특정 데이터 패턴을 쿼리해야하는지 고려해야합니다. 내가 사용할 예제는 캐나다 우편 번호 고객입니다. TSQL : 한 문자의 패턴 또는 와일드 카드와 일치하는 문자열 작업

 
ID  Postal 
--  ------- 
442  90210 
631  T0R 4C2 
447  YO31 1EB 
145  F9S8S6 
73  K9J 3K3 

은 쉽게 밖으로 (상태/잠 국가 필드 등) 또는 실행중인 것을 비 적합성 보고서가없는 척. 예, 사용자 입력을 신뢰하지 마십시오! 어떻게 당신이 LIKE 절을 공식화하는 것 :
-- we want to find: three chars + space + 3 chars 'XXX XXX' 
-- LIKE % is not terribly helpful 
SELECT * FROM SomeTable 
WHERE Postal LIKE --? 

우리는 결과 집합

 
ID  Postal 
--  ------- 
631  T0R 4C2 
73  K9J 3K3 

질문되고 싶어? 당신이 정확한 숫자 - 문자를 지정하고자 할 때

답변

3

언더 코어는 한 문자와 만 일치합니다. 이게 니가 찾고있는거야?

LIKE '___ ___' 
2
SELECT * 
FORM SomeTable 
WHERE Postal LIKE '___ ___' 

또는 더 나은, 당신은이 작업을 수행 할 수 있습니다

SELECT * 
FORM SomeTable 
WHERE Postal LIKE '[a-z][a-z][a-z] [0-9][0-9][0-9]' 

그것은 당신이 얻고 싶은 코드의 종류의 따라 달라집니다.

+0

+1 당신이 나를 27 초 만에 첫 번째 답으로 이겼으므로,하지만 내 대답은 운이 좋았고 체크 표시가 나타났습니다! :-) –

관련 문제