確實個人而言是比較討厭日期這種操作的,但是躲不掉啊,還是要寫的.
先來建個表吧:
create table user(
uid number(2) primary key,
username varchar(50) not null,
password varchar(50) not null,
age char(3) check( age = '男' or age = '女' ),
birthday DATE
)
建表的時候確實沒什麼問題,但是Oracle裏的日期類型麻煩的不是建表而是對於日期類型的操作…
1.添加數據:
日期類型正常添加必須是這個格式:to_date(‘日期’,‘日期格式化’)
#例子
insert into user1(usid,username,password,age,birthday) values(1,'jack','1234','男',to_date('2000-03-18','YYYY-MM-DD'))
insert into user1 values(2,'rose','1234','女',to_date('2002-03-18','YYYY-MM-DD'))
insert into user1 values(3,'jjj','1234','男',to_date('1999-03-18','YYYY-MM-DD'))
insert into user1 values(4,'rrr','1234','女',to_date('1998-03-18','YYYY-MM-DD'))
2.條件查詢:
日期類型也是要加這個格式:to_date(‘日期’,‘日期格式化’)
#例子
select * from user1 where birthday >= to_date('2000-01-01','yyyy-MM-dd');
對於日期類型來說,修改數據無非就是直接改變數據內容或者是有選擇性的推遲或者回滾天數,以查詢來說可以這麼寫
#正常數據
select usid,birthday from user1;
#推遲一天
select usid,birthday + 1 from user1;
#推遲一百天
select usid,birthday + 100 from user1;
正常數據-------------推遲一天--------------推遲一百天
3.修改數據:
#將某個人推遲一天
update user1 set birthday = birthday + 1 where usid = 1;
小結:在日期類型的數據中操作數據所用的數字單位是以天來計算的