使用postgreSQL中的正则表达式验证列

时间:2014-06-25 07:51:16

标签: regex postgresql

我需要检查表中的列是否具有数字值后跟小数点和小数点后的3个精度。请建议如何在postgre SQL(或)任何其他替代方法中使用正则表达式。

由于

1 个答案:

答案 0 :(得分:6)

数字的基本正则表达式,句点和数字为\d+\.\d{3}

您可以将它用于多种用途,例如:

<强> 1。为列定义添加约束

ALTER TABLE mytable ADD (CONSTRAINT mycolumn_regexp CHECK (mycolumn ~ $$^\d+\.\d{3}\Z$$));

<强> 2。查找不匹配的行

SELECT * FROM mytable WHERE mycolumn !~ $$^\d+\.\d{3}\Z$$;

第3。找到匹配的行

SELECT * FROM mytable WHERE mycolumn ~ $$^\d+\.\d{3}\Z$$;