2010-06-03 14 views
9

Pracuję z SQL Server 2005.zapytań SQL do znajdowania wierszy ze znakami specjalnymi tylko

muszę dowiedzieć się tylko te wiersze, dla których istnieje szczególna postać w „ciało” kolumny. W poniższym scenariuszu, wynik powinien być tylko rząd z TemplateID = 2. Jak napisać kwerendę do tego?

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]') 

coś innego niż po to szczególny charakter dla tego scenariusza

1) Alphabtes 

2) Digits 

3) Space 

Odpowiedz

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

Rzeczy w nawiasach mówi numery (0-9), małe alphas (AZ), wielkie alphas (AZ) i przestrzeń. "^" Sprawia, że ​​"NIE" jest jedną z tych rzeczy. Zauważ, że jest inna niż nie, choć jak '% [0-9a-zA-Z]%'

Powiązane problemy