當前位置:首頁 » 數據倉庫 » 資料庫怎麼設定1或0
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫怎麼設定1或0

發布時間: 2023-07-19 07:30:14

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;