Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на RegEx в SQL Server

Не е необходимо да взаимодействате с управляван код, тъй като можете да използвате 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

Тъй като изразът ви завършва с + можете да отидете с '%[^a-z0-9 .][^a-z0-9 .]%'

РЕДАКТИРАНЕ :
За да стане ясно:SQL Server не поддържа регулярни изрази без управляван код. В зависимост от ситуацията, LIKE Операторът може да бъде опция, но му липсва гъвкавостта, която предоставят регулярните изрази.



  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 varchar?

  2. Кога трябва да използвам CROSS APPLY над INNER JOIN?

  3. Функция за изчисляване на медиана в SQL Server

  4. tsql връща таблица от функция или процедура за съхранение

  5. Как да върнете нарастващ номер на група за група в SQL