我有一个列number
,我需要一个长度约束(比如说11位),并断言某些数字的存在。让我们说前四位需要是' 1234'并且在范围' 6-9'中排名第五。我使用varchar
类型,所以我还需要断言数字。通过一些研究,我能够提出:
CHECK (REGEXP_LIKE(number, '^1234\d{6}$'))
通过这种方式,我可以检查数字位数(11),前4个起始数字和数字值。但是,我不能将需要在6到9之间的第五个数字放入这个表达式中。 提前致谢
答案 0 :(得分:3)
试试这个。
CHECK (REGEXP_LIKE(number, '^1234[6-9]\d{6}$'))