2010-06-03 2 views
9

SQL Server 2005에서 작업하고 있습니다.특수 문자가있는 행을 찾는 SQL 쿼리

"본문"열에 특수 문자가있는 행만 찾으십시오. 다음 시나리오에서 결과는 TemplateID = 2 인 행으로만 이루어져야합니다. 어떻게이 쿼리를 작성합니까? 다음 이외의

CREATE TABLE #Template (TemplateID INT, Body VARCHAR(100)) 

INSERT INTO #Template (TemplateID,Body) VALUES (1,'abcd 1234') 

INSERT INTO #Template (TemplateID,Body) VALUES (2,'#^[email protected]') 

아무거나는이 시나리오

1) Alphabtes 

2) Digits 

3) Space 

답변

28
SELECT 
    TemplateID, 
    Body 
FROM 
    #Template 
WHERE 
    Body LIKE '%[^0-9a-zA-Z ]%' 

괄호 사이의 물건을 말한다위한 특수 문자 숫자 (0-9), 소문자 알파 (AZ), 대문자 알파 (AZ)와 공간. "^"는이 것을 "NOT"으로 만듭니다. '% [0-9a-zA-Z] %'와 같지 않음에 유의하십시오.

관련 문제