資料庫check約束表達式
① sqlserver check約束 表達式如何寫只能是電子設備,機械設備,,
check xx in(電子設備,機械設備,........)
其中xx為屬性名
check(dtime<=now())
其中當前時間用now()函數獲得,這是sqlserver中的獲得系統時間的函數。不能晚於當前時間,也就是要比當前時間要小,dtime為屬性名。
② 在資料庫(Sql)中要check 約束一個密碼的長度表達式怎麼寫的
資料庫中約束一個密碼的長度分兩種情況,一種是表還未建,在建立過程中約束;另一種是表已存在,在此基礎上約束。
工具:sqlserver 2008 R2
第一種情況(創建表過程中創建約束):
1、語句如下:
createtable[user]
(idint,
pwdvarchar(20)check(len(pwd)between6and20),--代表密碼長度最短為6,最長為20
namevarchar(20));
2、創建後,可用長度短於6位的密碼,長度在6-20位之間的密碼,長度大於20位的密碼分別驗證。
密碼短於6位(報錯):
③ SQLServer中的check約束
ALTER TABLE NewTable
ADD CONSTRAINT CK_NewId CHECK(NewId in[0,1])
ADD CONSTRAINT CK_endtime CHECK(begintime>endtime)
(NewTable 為您的表,NewId為該表中的某個欄位)
提示:您endtime應該作為--下機時間 begintime應該作為--上機時間 ;這樣更符合邏輯,由於您給出的題目,所以答題如上,如果 是您筆誤,那麼 第二條約束改為 ..(endtime>begintime)即可。。
④ SQL CHECK約束表達式 就比如 sex列名中的 性別,只能填寫"男"或"女"
進入設計表,右鍵,選擇「CHECK 約束」,新建約束,「sex=『男'」或"sex='女'就行了!
⑤ sql check 約束 表達式
你的語句有問題,首先用like不是這樣用的,應該是:check(chk_id like 『...』 or chk_id like '...'),其次你不能用like控制長度的吧,like是匹配字元的,不是匹配長度,長度用len,你把這列屬性設置為 int,然後check(len(chk_id) in ('18','15'))
具體如下:
create table a_test
(
id int null ,
chk_id int null check(len(chk_id) in ('18','15'))
)