這裡蒐索程式師資訊,查找有用的技術資料
當前位置:首頁 » 編程語言 » sql月份欄位只能為1或2
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql月份欄位只能為1或2

發布時間: 2022-04-13 18:42:41

A. 在pl/sql里建一表,其中有些欄位的值要限定,比如項目名稱被限定為:項目1,項目2,項目3;怎麼寫代碼啊

建立一個取值范圍表(碼表)作為主表,然後再建立你需要的表(作為從表)。在建表時需要限定的欄位作為外鍵與碼表的欄位相互關聯。這樣每次修改表的這些欄位時,自動去校驗該值是否碼表中存在的值。

B. sql 月份排序時為什麼是從10月 11月 12月 1月......而不是1月 2月 …10月 1

摘要 Sql server資料庫的情況下

C. 這樣的sql語句怎麼寫:表名A ,欄位名A_1,A_1欄位裡面只有數值1或者2,現在想把是1的顯示為B,2顯示為S

使用如下語句即可:
select case when a_1 = '1' then 'B' when a_1 = '2' then 'S' else a_1 end as a_1 from a;

D. 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

E. 用sql語句檢索學生表中所有出生月份為單數的記錄

select * from 學生表 where month(生日)%2 = 1
其中「學生表」是表名;「生日」是記錄學生生日的欄位名。
「month( )」是求日期中的月份的函數。
「%」是求余數的運算符, month(生日)%2 就是求生日中月份除以2的余數,余數為1就是奇數。

F. 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)

)

(6)sql月份欄位只能為1或2擴展閱讀:

不同資料庫的約束寫法:

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



G. SQL語句如何篩選 欄位1 欄位2 01 是 02 是 01 否 02 是

select * from (select 欄位1 from 表1 where 欄位2='是' group by 欄位1) A where A.欄位1 not in (select 欄位1 from 表1 where 欄位2 like '%否%');

H. SQL 查一段時間之間的數據 比如1月份到2月份的數據

也不知道是不是你想要的內容
思路:單獨用SQL求服務申告總數量(scum)和完成數量(success)然後顯示到一個表裡。
select
'服務申告經理統計' as title,
(
select count(*) from sr
where statusdate between '2011-01-18' and '2011-02-19'
) as scum,
(
select count(*) from sr
where statusdate between '2011-01-18' and '2011-02-19' and closetime_mep is null
)success

I. SQL語句中 招標方式代號只能夠為1或者2,其中1表示"公開",2表示「邀請」

不知道你啥意思,你是要如果你的欄位是1,2就查詢對應顯示?
如果是這樣的話,直接用case語句就可以了
select case when 欄位=1 then '公開' when 欄位=2 then '邀請' end
from 表,,,,
不知道是不是你要的效果

J. asp文件中sql-between月份單雙問題

首先你應該把欄位的日期類型改為日期時間型,如果你目前為字元串的話可以採用replace()函數把/轉換為「-」橫線,然後再更改欄位類型。

但是讓我迷惑的是,怎麼回出現2014-1-1和2015/1/1這兩種格式呢,我一般用2015-01-01這種格式,當然了2015-1-1和2015-01-01是相等的,2015/1/1和2015/01/01是相等的,理論上只要把/替換成-號就可以進行欄位類型的更改了,
第一個SQL語句:update 表名 set 我是時間欄位=replace(我是時間欄位,'/','-'),把所有/字元串全部替換為-.
第二個SQL語句:update 表名 set 我是時間欄位=replace(我是時間欄位,' ',''),替換所有空格為空,這一句可以不加,只要你能欄位類型更改成功。

備註:現在討論下出現兩種格式不統一的原因:資料庫欄位格式本來就設置為2015/1/1這種格式(2015/1/1這種格式在ACCESS中有人使用),但是2015-1-1卻可以正確寫入,既然都是日期時間型的話自然可以用SQL直接篩選啊,但是出現數據不準可能是設置錯誤,正確格式應該為2015-1-1 00:00:00,也就是說必須帶時分秒的。默認SQL語句:select * from 表名 where 我是時間欄位>='2015-1-1' and 我是時間欄位<='2015-1-31',這條SQL語句的時間范圍為查詢2015-1-1 00:00:00 到2015-1-31 00:00:00,所以應該SQL語句應該是:select * from 表名 where 我是時間欄位>='2015-1-1 00:00:00' and 我是時間欄位<='2015-1-31 23:59:59',你調試下看時間段停留在哪?

如果sql語句不能用逗號的號可以改成#(ACCESS有這種毛病)