Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Używanie RegEx w SQL Server

Nie musisz wchodzić w interakcję z kodem zarządzanym, ponieważ możesz użyć LIKE:

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

Ponieważ Twoje wyrażenie kończy się na + możesz iść z '%[^a-z0-9 .][^a-z0-9 .]%'

EDYTUJ :
Aby było jasne:SQL Server nie obsługuje wyrażeń regularnych bez kodu zarządzanego. W zależności od sytuacji, LIKE operator może być opcją, ale brakuje mu elastyczności zapewnianej przez wyrażenia regularne.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2016:Projektant zapytań

  2. Jak podzielić ciąg po określonym znaku w SQL Server i zaktualizować tę wartość do określonej kolumny?

  3. Jak zwrócić tylko Date z typu danych DateTime serwera SQL?

  4. Najlepsze opcje monitorowania bazy danych dostępne dla Twojej firmy

  5. Jak wykonać wstawianie i zwracanie wstawionej tożsamości za pomocą Dappera?