数据库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'))
)