检查 phone 数字格式的约束
Check constraint for phone number format
我一直收到错误消息:
[2020-01-27 10:37:04] [23000][4025] CONSTRAINT CONSTRAINT_1
failed
当我插入以下行时:
'(01)236-4589'
以下列:
CHECK (phone LIKE '(0[0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')
请告诉我哪里做错了。
非常感谢您的帮助。
您的代码有问题:
- 要根据正则表达式检查值,您需要使用
REGEXP
运算符而不是 LIKE
- 左括号和右括号需要转义(这需要两个反斜杠)
此外,您可以使用量词来避免一次又一次地重复 [0-9]
。
考虑:
CHECK (phone REGEXP '\(0[0-9]\)[0-9]{3}-[0-9]{4}')
我一直收到错误消息:
[2020-01-27 10:37:04] [23000][4025] CONSTRAINT
CONSTRAINT_1
failed
当我插入以下行时:
'(01)236-4589'
以下列:
CHECK (phone LIKE '(0[0-9])[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]')
请告诉我哪里做错了。
非常感谢您的帮助。
您的代码有问题:
- 要根据正则表达式检查值,您需要使用
REGEXP
运算符而不是LIKE
- 左括号和右括号需要转义(这需要两个反斜杠)
此外,您可以使用量词来避免一次又一次地重复 [0-9]
。
考虑:
CHECK (phone REGEXP '\(0[0-9]\)[0-9]{3}-[0-9]{4}')