oracle學習筆記二(基本的日期函式)

2021-08-25 14:58:21 字數 1496 閱讀 5426

日期函式:

sysdate:返回系統時間

add_months(d,n);

查詢入職8個月多的員工:

select * from emp where sysdate>add_months(hiredate,8);

add_months(hiredate,8):表示從雇用時間開始再加上8個月

add_months(hiredate,8*12):表示加上8年

查詢員工加入到公司的天數:

select floor(sysdate-hiredate) as "入職天數" from emp;

trunc()截掉

floor()向下取整 日期相減 得到 天數

找出各月倒數第3天受僱的所有員工:

select hiredate,ename from emp where last_date(hiredate)-2=hiredate;

last_day(d):返回指定日期所在月份的最後一天

轉換函式

比如:create table t1(id int);

insert into t1 values('10');

這樣oracle會自動的將'10'轉換成10;

create table t2(id varchar2(10));

insert into t2 values(1);

oracle會自動轉換

to_char();

日期顯示 時分秒

select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss');

新增時,如果沒有插入時分秒,那麼預設都為0

insert into emp values(222,'test','manager,88,sysdate);

或者to_date('1998-09-23 22:30:00','yyyy-mm-dd hh24:mi:ss');

插入薪水:

select ename,to_char(sal,'l99999,99') from emp

顯示出來會是rmb2000

l:代表顯示本地貨幣符合,中文:以rmb來顯示

99999.99:代表是5位整數後代兩位小數(這是因為sal這個欄位是 sal number(7,2))

9:顯示數字,並忽略前面0,

0:顯示數字,如位數不足,則用0補齊

. :在指定位置顯示小數點

,:在指定位置顯示逗號 l99,999,99 每三位顯示,

$:在數字前加美元

c:在數字前加國際貨幣符合

g:在指定位置顯示組分隔符

d:在指定位置顯示小數點符合

to_char

顯示2023年入職的所有員工;

select * from emp where to_char(hiredate,'yyyy')=1980;

顯示所有12份入職的員工:

select * from emp where to_char(hiredate,'mm')=12;

oracle 學習筆記 二

from子句 select用於指定要查詢的列 from指定要從哪幾個表中查詢 如果要查詢所有列,可以在select後面使用 號 如果只查詢特定的列,可以直接在select後面指定列名,列名之間用逗號隔開 select from dept 使用別名 在sql語句中可以通過使用列的別名改標題的顯示文字,...

oracle學習筆記 二

from子句 select用於指定要查詢的列 from指定要從哪幾個表中查詢 如果要查詢所有列,可以在select後面使用 號 如果只查詢特定的列,可以直接在select後面指定列名,列名之間用逗號隔開 select from dept 使用別名 在sql語句中可以通過使用列的別名改標題的顯示文字,...

oracle學習筆記二

約束是在表上強制執行的資料校驗規則.當表中資料有相互依賴性時,可以保護相關的資料不被刪除.oracle 支援下面五類完整性約束 1 not null 非空 create table employees employee id number 6 last name varchar2 25 not nu...