日期函式:
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...