我正在嘗試在 SQL Server (2019) 列中識別這些模式:
78878001
1-1321-32
1321-12
121-5489-19
403-3-XXXXX
規則是:
- 只有數字或
- 只有數字和連字符(至少一個連字符一個,但沒有具體數字)或數字、連字符和字母 X
我試過這個:
SELECT * FROM [TABLE1] WHERE [Part no] like '[0-9]%-%'
但它回傳一些不正確的值,例如:
- 702-3-01960 09150006125
700-3-02474 方舟 4787-PA-51H-99999
uj5u.com熱心網友回復:
如果您至少使用 SQL Server 2012,我認為您可以使用 try_parse 解決這個問題。以您的資料為例:
create table #testing1 (val varchar(100))
INSERT INTO #testing1
VALUES
('78878001'),
('1-1321-32'),
('1321-12'),
('702-3-01960 09150006125'),
('700-3-02474 Arkds 4787-PA-51H-99999'),
('121-5489-19'),
('403-3-XXXXX')
select *
from #testing1
where try_parse(replace(replace(val, '-', ''), 'X', '') AS int) is not null
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/410529.html
標籤:
