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');
数据库中约束一个密码的长度分两种情况,一种是表还未建,在建立过程中约束;另一种是表已存在,在此基础上约束。 工具:sqlserver 2008 R2 第一种情况(创建表过程中创建约束): 1、语句如下: create table [user](id int,pwd varchar(20) ch
什么数据库 普通的 Oracle , DB2, SQL Server 的话, 简单。 例如: CHECK ( 性别 IN ( '男' , '女', '不明' ) ) 如果是 Mysql 的话, 使用 enum 也就是建表的时候指定。 例如: mysql> CREATE TABLE test_create_tab5 ( -> id INT PRIMARY KEY
可用check约束来实现。 如,创建测试表: create table test(id varchar(10) check (len(id)>=6));测试方法: 1、插入一个不足6位长的字符,会报如下错误: 2、插入一个大于等于6位长的字符,会提示成功:
ALTER TABLE 表名 ADD CONSTRAINT CK_约束名 CHECK(len(列名)>=6)
年龄 > 18
只能约束位数 CONSTRAINT cCusAbbName CHECK (cCusAbbName LIKE '%[a-zA-Z]%') and LENGTHB(cCusAbbName) > 6)
alter table Table add constraint CN_Column1 check (len(Column1)>6) 替换掉Table和Column1即可
check 约束里面 设置 一般是在表设置列名 后面 写上 check(len(Password)>=6 and len(Password)
检查约束首字母为s: check(col1 like 's%') 检查约束前3位和后8位均为数字字符: check(col2 like '[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
create table aa( , pwd varchar(32), , check(len(pwd) > 6) --用check约束,pwd字段长度必须要6位以上)
建表时直接创建约束
create table 表名(字段名 int check (字段名 in (0,1,2)))
表已存在后创建
alter table 表名 add constraint 约束名 check(字段名 in (0,1,2))约束类型
总的来说有五种:唯一性和主键约束、外键约束、检查约束、空值约束、默认值约束,约束的简介
数据的完整性是指数据的正确性和一致性,可以通过定义表时定义完整性约束,也可以通过规则,索引,触发器等。约束分为两类:行级和表级,处理机制是一样的。行级约束放在列后,表级约束放在表后,多个列共用的约束放在表后。
完整性约束是一种规则,不占用任何数据库空间。完整性约束存在数据字典中,在执行SQL或PL/SQL期间使用。用户可以指明约束是启用的还是禁用的,当约束启用时,他增强了数据的完整性,否则,则反之,但约束始终存在于数据字典中。
有五大关键词,UNIQUE和PrimaryKey,ForeignKey,CHECK,NOTNULL,DEFAULT
以上就是关于sql 2000,要求限制电话号码十一位,只能是数字~数据类型char(12),约束表达式怎么写全部的内容,包括:sql 2000,要求限制电话号码十一位,只能是数字~数据类型char(12),约束表达式怎么写、在数据库(Sql)中要check 约束一个密码的长度表达式怎么写的、sql2008如何约束指定三个数字,只能输入0.1.2这三个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)