2017-06-06 8 views
0

電話番号の制約。 03で始まっている場合は11桁でなければなりませんが、数字が10の場合は2桁目であってはなりません。3.コードが正しく機能していません。Sqlの電話番号の制約

c_Phone varchar(11) unique c_Phone check(c_Phone not like '%[^0-9]%'and 
((c_Phone like '03%' and len(c_Phone)=11) or 
(c_Phone like '0^3%' and len(c_Phone)=10)))) 
+0

何をやろうとしていますか? [MCVEの作成方法](https://stackoverflow.com/help/mcve)を読み、間違ったDBタグを削除する(mysqlまたはSQLサーバを選択する) – scsimon

+3

電話番号は妥当なものではない期待。これは悪い考えです。 – tadman

+0

投稿を編集しました、もう一度ご覧ください – Dosti

答えて

0
alter table dbo.Test 
add constraint UQ_Phone unique (c_Phone) 


alter table dbo.Test 
add constraint CC_Phone check 
(
    c_Phone not like '%[^0-9]%'and 
    ((c_Phone like '03%' and len(c_Phone) = 11) or 
    (c_Phone not like '_3%' and len(c_Phone) = 10)) 
) 
+0

さんに感謝します。Anton I got it – Dosti