Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Sử dụng RegEx trong SQL Server

Bạn không cần phải tương tác với mã được quản lý, vì bạn có thể sử dụng 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

Khi biểu thức của bạn kết thúc bằng + bạn có thể sử dụng '%[^a-z0-9 .][^a-z0-9 .]%'

CHỈNH SỬA :
Nói rõ hơn:SQL Server không hỗ trợ các biểu thức chính quy mà không có mã được quản lý. Tùy thuộc vào tình huống, LIKE toán tử có thể là một tùy chọn, nhưng nó thiếu tính linh hoạt mà biểu thức chính quy cung cấp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiểu tầm quan trọng của cài đặt bộ nhớ trong SQL Server

  2. Truy vấn SQL 'LIKE' sử dụng '%' trong đó tiêu chí tìm kiếm chứa '%'

  3. Trả về loại của trình kích hoạt DML trên bảng trong SQL Server

  4. Cách sử dụng FILEGROUPPROPERTY () trong SQL Server

  5. Cách ngăn chặn tấn công SQL Injection bằng cách bảo mật