我需要检查表中的列是否具有数字值后跟小数点和小数点后的3个精度。请建议如何在postgre SQL(或)任何其他替代方法中使用正则表达式。
由于
答案 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$$;