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');