天天看點

【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode

一、在sqlplus設定格式

(1)指定行的長度

SQLplus輸出行的預設長度為80

//檢視輸出行的長度
show linesize;
set linesize 100;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode

(2)指定分頁的尺寸

//檢視分頁尺寸
show pagesize;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode
//重設分頁尺寸
set pagesize 20           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode

其他操作

//輸出暫停
set pause on;
//這時按下enter 鍵,sqlplus自動顯示下一屏


//撤銷暫停
set pause off;


//記錄條數的提示資訊
//show feedback;
//預設是6, on 代表打開
//隻有行數大于等于6時,提示資訊才會顯示。           

(3)設定列格式

在SQLPLUS中設定格式(一次隻能設定一個字段)

1、作用:配合select語句使用,設定查詢結果顯示的格式,不會修改資料庫表字段。

2、設定字段顯示樣式

文法:COLUMN column_name HEADING new_name;

注:COLUMN 可以簡寫成COL

3、設定字段的格式化樣式

文法:COLUMN column_name FORMAT dataformat;

注:如果是字元類型的值,隻能設定它顯示的長度,其中a後面跟數字表示字元串顯示長度,例:a10 表示顯示10位的長度的字元串;數字則用‘9’代表一位,例:999.9 表示整數位為三位,小數位為一位。如果設定的長度比資料的長度小,則資料顯示為‘#’。還可以在數字前面加‘ ′,例: 999.9 則查詢後顯示的結果會在結果前加上’$’符。

4、清除設定格式

文法:COLUMN column_name CLEAR;

//設定字段顯示樣式
col username heading 使用者名;
select * from userinfo;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode
//設定字段的格式化樣式
col username format a5;
select * from userinfo;

           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode
//清除設定格式
col username clear;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode

二、case…when

一、case…when語句的使用

文法1:CASE column_name WHEN value1 THEN result1 … [ELSE resultn] END;

文法2:CASE WHEN column_name=value1 THEN result1 …[ELSE resultn] END;

注:value1、result1需要加單引号,表示字元串,當多個when…then…使用時,中間用空格隔開即可,不能用逗号隔開。

select username, case username when 'aaa' then '計算機'
 when 'bbb' then '市場' else '其他' end as 部門
from userinfo_2;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode
select username, case when username='aaa' then '計算機部門'
when username='bbb' then '市場部門' else '其他部門' end as 部門
from userinfo_2;           
【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode

三、decode

DECODE函數:(在SELECT子句中)

與CASE…WHEN語句類似。

,DECODE(column_name,value1,result1,…,defaultvalue) [AS column_name]

當column_name值為value1時,執行result1。defaultvalue相當于ELSE語句。

【Oracle學習】之 在sqlplus設定格式 和 case...when 和 decode