簡體   English   中英

將正則表達式轉換為SQL

[英]Convert Regular Expression to SQL

我有以下正則表達式:

 ^((\d{4}TS\d{0,4}[A-Z0-9]))$

我需要將其轉換為SQL語句,例如

  SELECT DISTINCT field1 FROM WHERE LIKE Mask ORDER BY field2

使用MS Access語法:

SELECT DISTINCT field1
FROM Table1
WHERE field1 LIKE '####TS[A-Z0-9]'
OR field1 LIKE '####TS#[A-Z0-9]'
OR field1 LIKE '####TS##[A-Z0-9]'
OR field1 LIKE '####TS###[A-Z0-9]'
OR field1 LIKE '####TS####[A-Z0-9]'
ORDER BY field2

使用SQL Server語法:

SELECT DISTINCT field1
FROM Table1
WHERE field1 LIKE '[0-9][0-9][0-9][0-9]TS[A-Z0-9]'
OR field1 LIKE '[0-9][0-9][0-9][0-9]TS[0-9][A-Z0-9]'
OR field1 LIKE '[0-9][0-9][0-9][0-9]TS[0-9][0-9][A-Z0-9]'
OR field1 LIKE '[0-9][0-9][0-9][0-9]TS[0-9][0-9][0-9][A-Z0-9]'
OR field1 LIKE '[0-9][0-9][0-9][0-9]TS[0-9][0-9][0-9][0-9][A-Z0-9]'
ORDER BY field2

使用Oracle語法:

SELECT DISTINCT field1
FROM Table1
WHERE REGEXP_LIKE(field1, '^[0-9]{4}TS[0-9]{0,4}[A-Z0-9]$')
ORDER BY field2

使用MySQL語法:

SELECT DISTINCT field1
FROM Table1
WHERE field1 REGEXP '^[0-9]{4}TS[0-9]{0,4}[A-Z0-9]$'
ORDER BY field2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM