POSTGRES SQL查询以查找具有一列包含数字的所有行,其格式为11位数 - 4位数

时间:2017-09-06 09:14:32

标签: sql regex database postgresql postgresql-9.1

我正在尝试编写一个postgress sql查询,这里我要选择所有行,其中一列必须包含以下格式的字符串,我无法为postgress构造正则表达式,因为我是这个DB的新手

一列包含像PRF这样的字符串:12345678901-1234就像这个列值存在一样,所以编写一个sql查询来选择所有具有此格式列值的行,这里PRF:是常量它永远不会改变唯一的变化value是后面的字符串:符号,有人可以帮助我。

2 个答案:

答案 0 :(得分:1)

你可以尝试

SELECT * FROM <table> WHERE <column> ~ 'PRF:\d{11}-\d{4}'

这是demo

答案 1 :(得分:1)

SELECT * FROM your_table WHERE your_column ~ '^[A-Z]{3}:\d{11}-\d{4}$';

~代字号用于正则表达式评估,您可以评估表达式是否符合您的需求here