1、scott解鎖
alter user scott identified by tiger;
alter user scott account unlock;
2、導表
@d:/oracle/table.sql;
3、檢視表結構
desc table;
4、連線資料
'hello' || 'world'
5、去重
distinct column
6、日期轉換
to_char(date,'yyyy-mm-dd')
7、轉義字元
like '%\_%' escape '\'
8、查詢日期94年的
like '%94'
9、字元函式lower,upper,initcap
initcap('hello world') --hello world
10、concat連線
concat('hello','world') --helloworld
11、substr擷取
substr('helloworld',2,4) --ello
12、length長度
length('helloworld') --10
13、instr某字元首次出現的位置
instr('helloworld','w') --6 若沒有返回0
14、rpad,lpad 字元補位
rpad(12000,10,'*') --12000*****
lpad(12000,10,'*') --*****12000
15、trim 去首位字元
trim('h' from 'hellohello') --ellohello
16、replace替換
replace('hellohello','h','x') --xelloxello
17、數字函式round
round(155.555) -- 156
round(155.555,2) --155.56
round(155.555,-2) --200
18、mod取餘
mod(1100,300) --200
19、months_between兩個時間相差多少個月
months_between(date1,date2)
20、add_months 給日期加月
add_months(sysdate,12)
21、next_day 下乙個星期幾
next_day(sysdate,1) --下乙個星期日
22、last_day 月的最後一天
last_day(sysdate)-1 本月倒數第二天
23、round 捨入時間
round(sysdate,'hh')
24、to_char
to_char(1234567.89,'l999,999,999,99) --¥1,234,567.89
to_char(1234567.89,'000,000,000,00) --001,234,567.89
25、to_number
to_number('¥1,234,567.89','l999,999,999,99') --1234567.89
to_number('001,234,567.89','000,000,000,00) -- 1234567.89
26、nvl 將空值轉化
nvl(column,0)
nvl(to_char(number),'abc') --如果number是空,顯示abc
27、nvl2 類似三目
nvl2(column,'a','b') --如果column不為空顯示a,為空顯示b
28、nullif
nullif('e1','e2') --如果e1等於e2 返回null 否則返回e1
29、coalesce
coalesce(a,b,c) --如果a為空返回b如果b為空返回c
30、case when then else end
case column when 1 then 1 else 2 end 如果列值等於1顯示1,否則顯示2
31、decode
decode(column,1,1,2,2,3) 如果列值等於1顯示1,如果等於2顯示2否則顯示3
32、truncate,delete
truncate table name --清空表
delete from table --清空表,可以rollback
33、add
alter table name add(email varchar2(10)) --新增字段
34、modify
alter table name modify(email varchar2(20) default '[email protected]')
35、rename
alter table name rename column email to new_email --改欄位名
rename stu1 to stu2 --改表/物件名
36、constraint
id number(8) constraint tn_id_uk unique --列約束
constraint tn_id_uk check(id > 0) -表約束
37、級聯刪除和制空
on delete set null 級聯制空
on delete cascade 級聯刪除
38、許可權
grant create view to scott --建立檢視許可權
39、檢視
create or replace view
with read only --唯讀
40、序列
create sequence empseq
increment by 10 --每次增長10
start with 10 --從10開始增長
maxvalue 100 --提供最大值
cycle --需要迴圈
nocache --不需要快取登入
41、索引
create index emp_id_idx on emp(id) --為id列建立索引
42、同義詞
create synonym e for emp --同義詞
43、建立使用者
create user admin identified by 123
44、許可權
grant create session to admin --授予登入許可權
grant create table to admin --建表許可權
45、表空間
alter user aojn quota 5m(unlimited) on users
46、角色
create role manager --建立角色manager
grant create table,create view to manager --將建立表,建立檢視許可權賦予角色
grant manager to admin --將角色賦予使用者
47、分配物件許可權
grant select,update on scott.emp to admin --分給admin scott使用者emp表得檢視更新許可權
revoke select on scott.emp from admin --收回許可權
with grant option --admin還可以將許可權分給別人
Oracle 使用筆記
原理 for each row r a in table a outer table for each rowr bintable b inner table ifr ajoin withr bthen return r a r b 適用範圍 a.outer table很小 or b.inner t...
oracle使用筆記
一.判斷某個欄位是另外的值的時候,返回另外的值 decode函式 decode value,if1,then1,if2,then2,if2,then2,else 表示如果value等於if1時,decode函式的結果返回then1,如果不等於任何乙個if值,則返回else。參考文章 二.oracle...
Oracle使用筆記
1.nvl 函式 lnv val,rep val if val 字段值 null 返回 rep val 例 user表 id name age 1 atimo 18 2 null 20 select nvl name,sys name from user where id 2 結果 sys name...