Cum pot scăpa de caracter de subliniere?
Am scris ceva de genul următoarele clauza where și doresc să fie în măsură să găsească intrările efective cu _d la sfârșitul anului.
T-SQL de Referință pentru CA pentru SQL Server 2000:
puteți folosi wildcard model de potrivire de caractere literal ca personaje. Pentru a utiliza un metacaracter ca un caracter literal, anexați metacaracter în paranteze. Tabelul prezintă mai multe exemple de folosind cuvinte cheie CUM ar fi și [ ] metacaractere.
Pentru cazul dumneavoastră:
Evident, @Lasse soluție este corect, dar nu's un alt mod de a rezolva problema: T-SQL operator " CA " definește opțional ESCAPE clauză, care vă permite să declare un personaj care va scăpa următorul caracter în model.
Pentru cazul dumneavoastră, următoarea în cazul în CARE clauzele sunt echivalente:
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';
Aceste soluții total sens. Din păcate, nici nu a lucrat pentru mine cum era de așteptat. În loc de a încerca să hassle cu ea, m-am dus cu o muncă în apropiere:
where replace(table_name,'_','!') not like '%!%'
order by table_name
Aceasta a lucrat pentru mine, trebuie doar să utilizați de evacuare
'%\_%'
Nici unul dintre acestea a lucrat pentru mine în SSIS v18.0, deci mi-ar face ceva de genul:
UNDE CHARINDEX('_', thingyoursearching) < 1``<br /><br />..unde sunt încercarea de a ignora siruri de caractere cu o subliniere în ele. Dacă vrei să găsești lucruri care au un caracter de subliniere, întoarce-l:<br /><br />
UNDE CHARINDEX('_', thingyoursearching) > 0``