在数据库字段中搜索特定的格式值

pvabu6sv  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(352)

我必须在数据库字段中搜索特定的格式值。值格式如下:

ABC 1167:YYYY
ABC 45870:YYYY
ABC 7654:YYYY
ABC 45076:YYYY
``` `YYYY` -可能是一年,即2018年、2019年
我试着用 `Format()` 函数以及尝试与正则表达式,但它没有得到预期的结果。任何帮助都将不胜感激!
dced5bon

dced5bon1#

在这里,我假设至少有4位数字会跟在“”后面,并张贴您将拥有的数字 : 然后是“2018年”或“2019年”

DECLARE @table TABLE(charValue VARCHAR(100));
INSERT INTO @table VALUES
('ABC 1167:2018'),
('ABC 45870:2019'),
('ABC 7654:2018'),
('ABC 45076:2019');

SELECT * FROM @table
WHERE charValue LIKE 'ABC [0-9][0-9][0-9]%:201[8-9]'
+----------------+
|   charValue    |
+----------------+
| ABC 1167:2018  |
| ABC 45870:2019 |
| ABC 7654:2018  |
| ABC 45076:2019 |
+----------------+
okxuctiv

okxuctiv2#

假设你只期望 20xx 几年后,你可以尝试:

SELECT *
FROM yourTable
WHERE col LIKE '[0-9][0-9][0-9][0-9]:20[0-9][0-9]';

相关问题