Vra

Hoe kan ek ontsnap die onderstreepkarakter?

Ek skryf iets soos die volgende waar klousule en wil in staat wees om werklike inskrywings met _d vind aan die einde.

Where Username Like '%_d'
Was dit nuttig?

Oplossing

T-SQL Versoek om SOOS vir SQL Server 2000 :

  

Jy kan die wildcard patroon wat ooreenstem met die karakters as letterlike karakters gebruik. 'N wildcard karakter as 'n letterlike karakter gebruik, sluit die wildcard karakter in hakies. Die tabel toon 'n paar voorbeelde van die gebruik van die wil navraag en die [] wildcard karakters.

Vir jou geval:

... LIKE '%[_]d'

Ander wenke

Dit is duidelik dat @Lasse oplossing is reg, maar daar is nog 'n manier om jou probleem op te los: T-SQL operateur LIKE definieer die opsionele ontsnap klousule, wat kan jy verklaar 'n karakter wat die volgende karakter in die patroon sal ontsnap.

Vir jou geval, die volgende WAAR klousules is ekwivalent:

WHERE username LIKE '%[_]d';            -- @Lasse solution
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';

Hierdie oplossings heeltemal sin maak. Ongelukkig nie vir my gewerk het as wat verwag is. In plaas daarvan om moeite met dit, ek het met 'n werk om:

select * from information_schema.columns 
where replace(table_name,'_','!') not like '%!%'
order by table_name

Dit werk vir my, net gebruik maak van die ontsnapping '%\_%'

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top