检查电话号码是否包含第i个位置的空格

时间:2017-05-23 09:14:23

标签: sql database db2 constraints

我想写一个约束来检查电话号码的第4个位置是否是空格。例如,

+34 12334 ......应该被允许

+341234 ...不应该被允许。

我的电话号码是VARCHAR(50)类型。

2 个答案:

答案 0 :(得分:0)

你可以用charindex做一些事情,它会搜索字符串中的特定字符串并返回其位置

select telephone 
FROM table
WHERE CHARINDEX(' ', Telephone) = 4

对于列出的第一个数字,结果将是4,第二个将返回0(未找到)

答案 1 :(得分:0)

尝试这样的事情:

ALTER TABLE yourlib.yourtablename ADD CONSTRAINT 
yourlib.yourconstraintname CHECK (telephone is null or length(telephone)>4 and substring(telephone, 4, 1)=' ');