sql >> Database >  >> RDS >> Sqlserver

RegEx gebruiken in SQL Server

U hoeft geen interactie te hebben met beheerde code, omdat u LIKE kunt gebruiken:

CREATE TABLE #Sample(Field varchar(50), Result varchar(50))
GO
INSERT INTO #Sample (Field, Result) VALUES ('ABC123 ', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123.', 'Do not match')
INSERT INTO #Sample (Field, Result) VALUES ('ABC123&', 'Match')
SELECT * FROM #Sample WHERE Field LIKE '%[^a-z0-9 .]%'
GO
DROP TABLE #Sample

Aangezien uw uitdrukking eindigt op + je kunt gaan met '%[^a-z0-9 .][^a-z0-9 .]%'

BEWERKEN :
Voor alle duidelijkheid:SQL Server ondersteunt geen reguliere expressies zonder beheerde code. Afhankelijk van de situatie kan de LIKE operator kan een optie zijn, maar het mist de flexibiliteit die reguliere expressies bieden.



  1. Verschil tussen inline en out-of-line beperkingen

  2. mysql:haal het aantal records tussen twee datum-tijd

  3. Waarom gegevensback-ups belangrijk zijn voor uw organisatie

  4. Kan ik een stream gebruiken om een ​​rij in SQL Server (C#) IN te VOEREN of BIJWERKEN?