ORACLE常用結構和函式使用方法總結
With用法:
The WITH query_name clause lets you assign a name to a subquery block. You can then reference the subquery block multiple places in the query by specifying the query name. Oracle optimizes the query by treating the query name as either an inline view or as a temporary table.
WITH <alias_one> AS
(subquery_sql_statement),
<alias_two> AS
(sql_statement_from_alias_one)
SELECT <column_name_list>
FROM <alias_one>, <alias_two>
WHERE <join_condition>;
例子:
with
sql1 as (select to_char(a) s_name from test_tempa),
sql2 as (select to_char(b) s_name from test_tempb where not exists ( select s_name from sql1 where rownum=1))
select * from sql1
union all select * from sql2
Decode用法:
Decode函式與一系列巢狀的 IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進行比較。如果base_exp和 第i 個compare項匹配,就返回第i 個對應的value 。如果base_exp與任何的compare值都不匹配,則返回default;
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,預設值
例子:
SELECT DECODE(Status,0,'未預定'1,'已預定',2,'已入庫') AS status
FROM Stocks
//分 析:
當Status=0時,將"未預定"賦值
當Status=1時,將"已預定"賦值
當 Status=2時,將"已入庫"賦值
NVL()函式:
NVL(ARG,VALUE)達標如果前面的ARG值為 NULL那麼返回的值為後面的VALUE
NVL(eExpression1, eExpression2)
eExpression1 和 eExpression2 可以是任意一種資料型別;
DECODE與NVL結合使用:
DECODE(NVL(ChangeNum,''),'','-',ChangeNum)
//分析:
首先判斷ChangeNum是否 為空.若為空賦空值[NVL函式]
其次,判斷取出的欄位是否為空,如果是則賦'-'
最後的預設處理是 ChangeNum。
LPAD和RPAD的用法:
lpad( string1, padded_length, [ pad_string ] )
其中string1是需要貼上字元 的字串
padded_length 是返回的字串的數量,如果這個數量比原字串的長度要短,lpad函式將會把字串擷取成padded_length;pad_string是個可選參 數,如果這個引數未寫,lpad函式將會在string1的左邊貼上空格。
select lpad('tech',2) from dual
返回值:t
eselect lpad('tech', 8, '0') from dual
返回值:0000tech
TRUNC用法:
TRUNC(for dates)
TRUNC函式為指定元素而截去的日期值。
其具體的語法格式:TRUNC(date[,fmt])
date 一個日期值
fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’))
=’24-Nov-1999 08:00:00 am’
另一種用法
TRUNC(for number)
TRUNC函式返回處理後的數值,其工作機制與ROUND函式極為類似,只是該函 數不對指定小數前或後的部分做相應舍入選擇處理,而統統截去。
其具體的語法格式:TRUNC(number[,decimals])
number 待做擷取處理的數值
decimals 指明需保留小數點後面的位數。可選項,忽略它則截去所有的小數部分
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注: 第二個引數可以為負數,表示為小數點左邊指定位數後面的部分截去,即均以0記.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26464953/viewspace-713612/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle常用函式總結Oracle函式
- PHP常用函式總結PHP函式
- php 常用函式總結PHP函式
- Oracle 函式總結Oracle函式
- 總結常用的字串函式字串函式
- loadrunner常用函式總結函式
- api日常總結:前端常用js函式和CSS常用技巧API前端JS函式CSS
- SAP ABAP 函式總結 常用函式解釋函式
- Emgucv使用中常用函式總結函式
- mysql之常用函式(核心總結)MySql函式
- php開發常用函式總結PHP函式
- ORACLE 實用函式總結Oracle函式
- Oracle分析函式使用總結Oracle函式
- oracle的case函式和case控制結構Oracle函式
- 【總結】Python常用函式有哪些?Python函式
- python常用函式年初大總結Python函式
- oracle常用函式彙總Oracle函式
- oracle 與 mysql 中的函式總結OracleMySql函式
- Oracle 中 Over() 函式學習總結Oracle函式
- Oracle 體系結構 SGA 和PGA 總結Oracle
- 總結一些常用的陣列函式陣列函式
- php函式總結PHP函式
- Git和github使用方法總結Github
- interrupt結構體和相關函式結構體函式
- Python | Python常用函式、方法示例總結(API)Python函式API
- C語言常用字串操作函式總結C語言字串函式
- oracle體系結構總結Oracle
- Oracle 函式小結Oracle函式
- Oracle中B-Tree、Bitmap和函式索引使用案例總結Oracle函式索引
- 迭代查詢 樹形結構及常用的函式函式
- mysql日期函式總結MySql函式
- SQL Server函式總結SQLServer函式
- JS建構函式,原型鏈,原型物件總結JS函式原型物件
- C++中的函式指標和函式物件總結C++函式指標物件
- 常用正規表示式總結
- python中關於時間和日期函式的常用計算總結Python函式
- Sigmoid函式總結Sigmoid函式
- mysql函式全面總結KSVMMySql函式