当前位置:首页 » 编程语言 » sql约束只能是数字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql约束只能是数字

发布时间: 2022-07-07 10:48:49

sql 2000,要求限制电话号码十一位,只能是数字~数据类型char(12),约束表达式怎么写

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');

㈡ 在SQL—Server中设置一个列的约束只能是八位字符,前两位是0,3-4为数字,第五位是下划线,6-8位是字母。

看图~~~~

㈢ SQL中规定某列值只能是0或者1的约束该怎么写

SQL CHECK约束。

CHECK约束用于限制列中的值的范围。

如果对单个列定义CHECK约束,那么该列只允许特定的值。

如果对一个表定义CHECK约束,那么此约束会在特定的列中对值进行限制。

--删除表

drop table temp;

--创建表

CREATE TABLE temp (flag NUMBER(1));

--增加约束

ALTER TABLE tempADDCONSTRAINTck_temp_flag CHECK

(flag=1 or flag=0);

--测试效果版

insert into temp values(1);

insert into temp values(0);

insert into temp values(1);

--测试效果(约束禁止插入数据),提示权:违反检查约束条件

insert into temp values(2);

insert into temp values(3);

SQL CHECK Constraint on CREATE TABLE。

下面的SQL在"Persons"表创建时为"Id_P"列创建CHECK约束。CHECK约束规定"Id_P"列必须只包含大于0的整数。

My SQL:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CHECK (Id_P>0)

)

(3)sql约束只能是数字扩展阅读:

不同数据库的约束写法:

SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULLCHECK (Id_P>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

如果需要命名CHECK约束,以及为多个列定义CHECK约束,请使用下面的SQL语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

)

SQL CHECK Constraint on ALTER TABLE.

如果在表已存在的情况下为"Id_P"列创建CHECK约束,请使用下面的SQL:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CHECK (Id_P>0)

如果需要命名CHECK约束,以及为多个列定义CHECK约束,请使用下面的SQL语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

撤销CHECK约束。

如需撤销CHECK约束,请使用下面的SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons

DROP CONSTRAINT chk_Person



㈣ sql server 账户设置检查约束只允许输入数字字符和" -"号 怎样写

这种设置最好在客户端做,
在服务器做,客户端出错的时候,你还要做处理,倒不如做在客户端

㈤ SQL利用check约束语句编写ZIP列 只能是6位的字符数字(邮编必须6位) 请教

在"约束表达式"框中,为
CHECK
约束键入
SQL
表达式。例如,若要将
authors
表中
state
列的输入在数据库关系图中,右击包含约束的表,然后从快捷菜单中选择"约束"命令。
-或-

为将包含约束的表打开表设计器,在表设计器中右击,然后从快捷菜单中选择"约束"命令。

选择"新建"命令。"选定的约束"框显示由系统分配的新约束名。系统分配的名称以"CK_"开始,后跟表名。

在"约束表达式"框中,为
CHECK
约束键入
SQL
表达式。例如,若要将
authors
表中
state
列的输入项限制为
New
York,请键入:
state
=
'NY'

或者,若要要求
邮编
列中的输入项为
5
位数字,请键入:

邮编
LIKE
'[0-9][0-9][0-9][0-9][0-9][0-9]'
中间不能有空格

㈥ sql政治面貌要求约束只能填入123

没说明白,123是可以填1或者2或者3,还是只能填123?

如果只能填123很简单,直接把字段默认值为123,比约束更简单和高效

如果是3个数字中的某一个数字,那就只能约束了

最简单的方法,在表设计那里,在相应字段上右键

选择约束,新建,CHECK里填:sex in (1,2,3)

另外注意字段格式,如果是以字符的形式这样('1','2','3')

㈦ 请问SQL语言中 如何限制表格数据字符型 只能出现数字

1.在存插入存储过程中进行校验。

这样,使用存储过程插入数据,这里最常用的方法,可以最大限度地加入限制,报错和纠错功能以及完成其它表的关联操作。
使用起来也很方便:
EXEC TABLENAME_PROC '123456'
--以下是存储过程脚本
create tablename_proc
@field1 varchar(6)
as
if @field1 not like [0-9][0-9][0-9][0-9][0-9][0-9]
begin
reserror('必须是六位数字',16,1
return
end
insert into tablename(field1) values(@field1)
go

2.建表时加入约束:
create tablename(field1 CHECK (FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')

3.建表后给已存在字段添加约束
alter table TABLENAME
with nocheck add constraint TABLENAME_check
check(FIELD1 LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]')

㈧ sql2008如何约束指定三个数字,只能输入0.1.2这三个数

建表时直接创建约束

createtable表名
(字段名intcheck(字段名in(0,1,2)))

表已存在后创建

altertable表名addconstraint约束名check(字段名in(0,1,2))