① 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)
)
(1)数据库怎么设定1或0扩展阅读:
不同数据库的约束写法:
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数据库中填充“0”或者“1”这样的数据
--循环插入:把十进制转换成二进制,然后把二进制换成字符型,SUBSTRING取位插入CREATE FUNCTION dbo.inttobit (@number int)
returns varchar(100)
as
BEGIN
DECLARE @i int
DECLARE @j float
DECLARE @m int
DECLARE @OUT1 varCHAR(1)
DECLARE @OUT2 varchar(20)
SET @i=@number
set @out2=' '
WHILE @i>=1
BEGIN
SET @j=@i/2
SET @m=@i%2
SET @i=floor(@j)
SET @OUT1=cast(@m as char(1))
SET @OUT2=@OUT1+@OUT2
END
RETURN @OUT2
END
③ sqlserver2005怎么设置某字段取值只能为为0和1
可以用函数嵌套,试一下用 select cast(rand(checksum(newid()))*2 as int)
给你看个例子
create table id (id int primary key not null identity,b as cast(rand(checksum(newid()))*2 as int) )
alter table id add name varchar(20)
insert into id(name)values('掌声呢')
insert into id(name)values('掌声呢')
insert into id(name)values('掌声呢')
select * from id
④ 怎么把数据库中的某个表的某个字段默认值设为0
1、打开数据库连接,此时显示已创建的数据库。
⑤ oracle pl/sql 中的字段怎样设置状态,比如0代表男,1代表女
举个例子吧:
很多时候数据库男女字段这样设置。
sex varchar2(3) 然后这个字段存取性别 0 或者1.
当然你在程序调用显示的时候你需要写成
select decode(sex,'1','女','0','男','不明') from table;