如果我要用SQL数据库录入一些手机号,但是我必须约束它是11位的,而且只能是数字?
楼上正解,如果要规定手机号码首位为1,可以定义CHECK约束为:
(手机号 LIKE '1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
(手机号 LIKE '1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-11-12
类型定义为 CHAR(11)
CHECK约束为
(isnumeric(手机号)=1 AND LEN(LTRIM(RTRIM(手机号)))=11))
CHECK约束为
(isnumeric(手机号)=1 AND LEN(LTRIM(RTRIM(手机号)))=11))
第2个回答 2013-11-12
在应用程序中用正则表达.
'13[0-9]{9}'
再写入数据库.
这样不是更好.?
'13[0-9]{9}'
再写入数据库.
这样不是更好.?
第3个回答 2013-11-12
定义成 char(11)
第4个回答 2013-11-12
telnum like '1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'