2017-09-16 189 views
0

您好我想在SQL Server中我嘗試這一點,但不能工作 我needd檢查,如果一個字2 char和例子aa192後3個數字加約束:檢查約束

create table test(
    idtest int primary key , 
    neEdition varchar(50) 
); 

alter table test add constraint ch_like check(neEdition like'[a-z][a-z][0-9][0-9][0-9]'); 
+0

這是行不通的? –

+0

消息547,級別16,狀態0,行1 ALTER TABLE語句與CHECK「ch_like」約束衝突。衝突發生在數據庫「EFF2017」,表「dbo.test」,列'neEdition'中。 –

+2

這意味着您的表中有違反約束條件的數據。你可以用'SELECT * FROM dbo.test WHERE neEdition'找到它''[az] [az] [0-9] [0-9] [0-9]'' –

回答

1

你的代碼rextester工作。

鑑於你在做什麼,我會建議的版本被宣佈有5個字符:

neEdition varchar(5) 

或:

neEdition char(5) 

與該檢查約束更加一致。

+0

Msg 547,Level 16,State 0,第1行ALTER TABLE語句與CHECK「ch_like」約束衝突。衝突發生在數據庫「EFF2017」,表「dbo.test」,列'neEdition'中。 - –