因为涉及到固定电话,所以一般用varchar2,单纯手机号码的话可以用number。数据类型分类:
1、数字型—Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和Currency(货币型)。
2、字节型。
3、文本型——String类型。数据库保存一个11位的手机号码用字符串即可。一般电话号码都是4位区号+7位号码,或者3位区号+8位号码,或者手机号码,都是11位,所以使用nvarchar(11)即可。
add constraint ck_tcontent check len(tcontent) = 6如果用企业管理器做的话加入 len(tcontent) = 6 括号里面是字段名!
SQL Server 2000 没有, 就拿个 SQL Server 2005 的来凑个数。不大清楚 SQL Server 2000 里面,有没有 PATINDEX 函数了。
CREATE TABLE #temp(
test char(12)
CONSTRAINT chk_test
CHECK (
LEN(RTRIM(test)) = 11 AND
PATINDEX('%[^0-9]%', RTRIM(test)) = 0)
)
INSERT INTO #temp VALUES ('a')
-- 失败 长度不符合
INSERT INTO #temp VALUES ('1')
-- 失败 长度不符合
INSERT INTO #temp VALUES ('123456789012')
-- 失败 长度符合 但是英文
INSERT INTO #temp VALUES ('1234567890a')
-- 成功
INSERT INTO #temp VALUES ('12345678901')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)