Oracle 內建函式一
Ø ABS
ABS函式返回一數值的絕對值。
Ø ACOS
ACOS函式返回一數值的反餘弦值。結果以弧度表示,且在0到PI之間。
其語法格式如下:
ACOS(number)
其中,number必須是-1與1之間的值,如果超出則報異常
下面的例子顯示了1和-1 的反餘弦值:
ACOS(1)=0
ACOS(-1)=3.1415927(PI)
Ø ADD_MONTHS
如果,結果月份的天數比開始月份的天數少,那麼,也會向回撥整以適應有效日期。
SQL> SELECT SYSDATE,ADD_MONTHS(SYSDATE,2),ADD_MONTHS(SYSDATE,4) FROM DUAL;
SYSDATE ADD_MONTHS(SYSDATE,2) ADD_MONTHS(SYSDATE,4)
----------- --------------------- ---------------------
2010-10-31 2010-12-31 19:06:59 2011-2-28 19:06:59
Ø ASCII
SQL> SELECT ASCII('T'),ASCII('TANGYUN') FROM DUAL;
ASCII('T') ASCII('TANGYUN')
---------- ----------------
84 84
如果指定了一個多字串,該函式將忽略除首字母外的所有字元。
Ø ASCIISTR
用於任意字符集的字串轉換為資料庫字符集的ASCII字串。
SQL> SELECT ASCIISTR('湯雲'),ASCIISTR('TANGYUN'),ASCII('TANGYUN'),ASCII('T') FROM DUAL;
ASCIISTR('湯雲') ASCIISTR('TANGYUN') ASCII('TANGYUN') ASCII('T')
---------------- ------------------- ---------------- ----------
6C644E91 TANGYUN 84 84
Ø ASIN
ASIN函式返回一數值的反正弦值。結果以弧度表示,且在-PI/2到PI/2之間。
其語法格式如下:
ASIN(number)
其中:number必須是-1與1之間的值,如果超出則報異常
下面的例子顯示了1和-1的反正弦值:
ASIN(1)= 1.57079632
ASIN(-1)=-1.57079632
Ø ATAN
ATAN函式返回一數值的反正切值。結果以弧度表示,且在-PI/2到PI/2之間。
其語法格式如下:
ATAN(number)
其中:number必須是-1與1之間的值,如果超出則報異常
下面的例子顯示了1和-1 的反正切值:
ATAN(1)= 0.78539816
ATAN(-1)=- 0.78539816
Ø ATAN2
ATAN2函式返回兩個數值的反正切值。結果以弧度表示。
其語法格式如下:
ATAN2(first,second)
其中:
first 第一個數
second 第二個數
下面的例子顯示了1和-1的反正切值:
ATAN2(1,.5)= 1.107148717
Ø BIN_TO_NUM
BIN_TO_NUM(EXPR1,EXPR2,EXPR3,….)用於將位向量值轉換為實際的數值。EXPRn其實就是0或者1,有幾個表示式就是第一位就是2的多少次冪。
SQL> SELECT BIN_TO_NUM(0,0,0,0,1) FROM DUAL;
BIN_TO_NUM(0,0,0,0,1)
---------------------
1
SQL> SELECT BIN_TO_NUM(0,0,0,1,1) FROM DUAL;
BIN_TO_NUM(0,0,0,1,1)
---------------------
3
SQL> SELECT BIN_TO_NUM(0,0,1,1,1) FROM DUAL;
BIN_TO_NUM(0,0,1,1,1)
---------------------
7
SQL> SELECT BIN_TO_NUM(0,1,1,1,1) FROM DUAL;
BIN_TO_NUM(0,1,1,1,1)
---------------------
15
SQL> SELECT BIN_TO_NUM(1,1,1,1,1) FROM DUAL;
BIN_TO_NUM(1,1,1,1,1)
---------------------
31
SQL> SELECT BIN_TO_NUM(1,1,1,1,1,1) FROM DUAL;
BIN_TO_NUM(1,1,1,1,1,1)
-----------------------
63
Ø ☆BFILENAME
BFILENAME函式返回一指向磁碟的物理檔案的BFILE地址。
其語法格式如下:
BFILENAME(directory,filename)
其中:directory 一個包括指定檔案的目錄路徑字串。該目錄透過命令CREATE DIRECTORY產生。但它不是一個作業系統目錄filename指定目錄中使用者試圖指定的檔名字。該檔案可以是預先不存在的檔案
下面的例子解釋了BFILENAME函式的使用情況:
BFILENAME(‘gif_dir’,’book_photo.gif’)
Ø CAST
CAST(EXPR AS TYPE)該函式用於將一個內建資料型別或者集合型別轉換成另外一個內建資料型別或者集合型別。
SQL> SELECT CAST('12.12' AS INTEGER) FROM DUAL;
CAST('12.12'ASINTEGER)
---------------------------------------
12
SQL> SELECT CAST(12.12 AS NUMBER(10,0)) FROM DUAL;
CAST(12.12ASNUMBER(10,0))
-------------------------
12
Ø CEIL
返回結果是大於等於輸入引數的最小整數。
SQL> SELECT CEIL(-5.999999999) FROM DUAL;
CEIL(-5.999999999)
------------------
-5
Ø CHARTOROWID
CHARTOROWID函式將一個字串轉換成rowid型別。
其語法格式如下:
CHARTOROWID(string)
其中:string 待處理的字串。該字串應該能表示一個有效的rowid型資料
下面的例子解釋了CHARTOROWID函式的使用情況:
SQL> SELECT ROWID FROM DUAL;
ROWID
------------------
AAAAECAABAAAAgiAAA
SQL> SELECT CHARTOROWID('AAAAECAABAAAAgiAAA') "ROWID" FROM DUAL;
ROWID
------------------
AAAAECAABAAAAgiAAA
Ø CHR
CHR函式就相應的資料庫字符集,返回一個指定數值相應的字元。例如,給定一個ASCII值,使用CHR函式返回該數值表示的字元。
SQL> SELECT CHR(10),CHR(65) FROM DUAL;
CHR(10) CHR(65)
------- -------
A
這裡的CHR(10) 是一個Tab鍵。
Ø COALESCE
返回引數中的第一個非空表示式。如果所有的參數列達式都是空值,最終將返回一個空值。
SQL> SELECT COALESCE(NULL,NULL,NULL,3) FROM DUAL;
COALESCE(NULL,NULL,NULL,3)
--------------------------
3
SQL> SELECT NVL(NULL,'a') FROM DUAL;
NVL(NULL,'A')
-------------
A
Ø COMPOSE
COMPOSE(string)用於將輸入字串轉換為UNICODE字串值。
SQL> SELECT COMPOSE(UNISTR('308')) FROM DUAL;
COMPOSE(UNISTR('308'))
------------------------
̈
SQL> SELECT COMPOSE('湯雲'||UNISTR('308')) FROM DUAL;
COMPOSE('湯雲'||UNISTR('308'
------------------------------
湯雲̈
SQL> SELECT COMPOSE('湯雲'||UNISTR('191')) FROM DUAL;
COMPOSE('湯雲'||UNISTR('191'
------------------------------
湯雲Ƒ
SQL> SELECT UNISTR('191') FROM DUAL;
UNISTR('191')
---------------
Ƒ
Ø CONCAT
CONCAT函式將兩個輸入字串,組合成一個,並返回結果。與“||”完全相同。
SQL> SELECT CONCAT('TANG','YUN') FROM DUAL;
CONCAT('TANG','YUN')
--------------------
TANGYUN
Ø ☆CONVERT
CONVERT函式把一字串從一個字符集轉換到另一字符集。
Ø COS
COS函式返回一角度的餘弦值。結果為弧度值。
其語法格式如下:
COS(angle)
其中:angle 角度值,用弧度表示
下面的例子解釋了COS函式的使用情況:
SQL> SELECT ROUND(COS(90*3.14/180),6) FROM DUAL;
ROUND(COS(90*3.14/180),6)
-------------------------
0.000796
SQL> SELECT COS(0) FROM DUAL;
COS(0)
----------
1
Ø COSH
COSH函式返回一角度的雙曲餘弦值。
其語法格式如下:
COSH(angle)
其中:
angle 角度值,以弧度表示
下面的例子解釋了COSH函式的使用情況:
COSH(0)=1
COSH(90*3.14/180)=2.507
將角度值轉化成弧度值,可以參考COS函式的有關部門資訊
Ø CURRENT_DATE
該函式是Oracle9i新增的函式,用於返回當前會話時區所對應的日期時間。
Ø CURRENT_TIMESTAMP
該函式是Oracle9i新增的函式,用於返回當前會話時區所對應的日期時間。
Ø DBTIMESONE
該函式是Oracle9i新增的函式,用於返回資料庫所在的時區。
Ø DECODE
SQL> SELECT DECODE(DUMMY,'Y','YES','N','NO','NONE') "DUMMY1",DECODE(DUMMY,'Y','YES','X','NO','NONE') "DUMMY2" FROM DUAL;
DUMMY1 DUMMY2
------ ------
NONE NO
SQL>SELECT TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),
2 COUNT(*)
3 FROM AQUATIC_ANIMAL
4 WHERE TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’)
5 IN(‘1995’,’1996’,’1997’)
6 GROUP BY TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’);
TO_C COUNT(*)
--- -------
1995 1
1996 3
1997 1
SQL>SELECT SUM(
DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1995’,1,0))BORN_1995
SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1996’,1,0))BORN_1996 SUM(DECODE(TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’),’1997’,1,0))BORN_1997
FROM AQUATIC_ANIMAL
WHERE TO_CHAR(TRUNC(BIRTH_DATE,’YEAR’),’YYYY’)
IN(‘1995’,’1996’,’1997’);
BORN_1995 BORN_1996 BORN_1997
----- ----- -----
1 3 1
Ø DECOPME
用於分解字串並返回相應的UNICODE字串,與COMPOSE對應。
Ø DEPTH(n)
用於返回XML解決方案中的UNDER_PATH路徑對應的層數。n用於指定相對的層數。
DUMP(EXPR,RETURN_FMT)
用於返回表示式的資料型別程式碼、長度以及內部表示格式。Return_fmt用於指定返回格式(8:八進位制符號,10:十進位制符號,16:十六進位制符號,17:單個字元),只能在SQL語句中使用。
SQL> SELECT DUMP('TANGYUN',1016) FROM DUAL;
DUMP('TANGYUN',1016)
--------------------------------------------------------
Typ=96 Len=7 CharacterSet=ZHS16GBK: 54,41,4e,47,59,55,4e
SQL> SELECT DUMP('TANGYUN',1017) FROM DUAL;
DUMP('TANGYUN',1017)
-------------------------------------------------
Typ=96 Len=7 CharacterSet=ZHS16GBK: T,A,N,G,Y,U,N
SQL> SELECT DUMP('TANGYUN',0817) FROM DUAL;
DUMP('TANGYUN',0817)
---------------------------
Typ=96 Len=7: T,A,N,G,Y,U,N
Ø ☆EMPTY_BLOB/ EMPTY_CLOB
EMPTY_BLOB函式返回一空的BLOB指標,該指標可以用在INSERT或UPDATE命令中,以初始化BLOB列項。
其具體的語法格式如下:
EMPTY_BLOB()
該函式沒有引數。下面的例子說明了如何使用該函式初始化BLOB列,並作為一個新行插入到表中。
INSERT INTO some_table
(blob_column)
VALUES(EMPTY_BLOB());
Ø EXP
EXP函式返回e的一個冪。
SQL> SELECT EXP(2),EXP(3) FROM DUAL;
EXP(2) EXP(3)
---------- ----------
7.38905609 20.0855369
Ø EXTRACT
該函式是Oracle9i新增的函式,用於從日期中取得所需的特定資料(如:年、月、日等)。
SQL> SELECT EXTRACT(DAY FROM SYSDATE),EXTRACT(YEAR FROM SYSDATE) FROM DUAL;
EXTRACT(DAYFROMSYSDATE) EXTRACT(YEARFROMSYSDATE)
----------------------- ------------------------
16 2010
Ø EXTRACT(XMLTYPE_INSTANCE,XPATH_STRING)
返回XML節點下的相應內容。
Ø EXTRACTVALUE(XMLTYPE_INSTANCE,XPATH_STRING)
返回XML節點路徑下的值。
Ø FLOOR
FLOOR函式返回一個小於或等於給定十進位制數的最大整數。
SQL> SELECT FLOOR(-5.99999999),FLOOR(-5.0000001) FROM DUAL;
FLOOR(-5.99999999) FLOOR(-5.0000001)
------------------ -----------------
-6 -6
Ø GREATEST
GREATEST函式返回一數值列表中的最高數值。可使用GREATEST函式處理數字資料和字元資料。
這裡需要注意的是以第一個引數來判斷引數是字元型還是數值型。
SQL> SELECT GREATEST('12',102,-12,0,'-15') FROM DUAL;
GREATEST('12',102,-12,0,'-15')
------------------------------
12
SQL> SELECT GREATEST(12,'102',-12,0,'-15') FROM DUAL;
GREATEST(12,'102',-12,0,'-15')
------------------------------
102
Ø ☆HEXTORAW
函式HEXTORAW將一個由十六進位制字元組成的字串轉換成一個raw數值。
其具體的語法格式如下:
HEXTORAW(string)
其中:
string 十六進位制字元組成的字串資料
SQL>CREATE TABLE xx (y raw(10));
Table created.
SQL>INSERT INTO xx VALUES(HEXTORAW(‘414243’));
1 row created.
AQL>SELECT DUMP(y) FROM xx;
DUMP(Y)
------------------------
Typ=23 Len=3:65,66,67
注意:在呼叫函式時,raw項中的數值是精確表示的(十進位制數65=十六進位制數41)
Ø INITCAP
INITCAP函式接收一字串,並轉換該字串中的所有單詞,以使各單詞均以大寫字母開頭。
SQL> SELECT INITCAP('This is a teST') FROM DUAL;
INITCAP('THISISATEST')
----------------------
This Is A Test
Ø INSTR/INSTRB
INSTR(string,substring[,start[,occurrence]])
INSTR函式返回字元或者字串的位置,找不到則返回0,occurrence引數指定第幾
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1041573/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python內建函式(一)Python函式
- 內建函式函式
- webgl內建函式--通用函式Web函式
- hive內建函式Hive函式
- MySQL 內建函式MySql函式
- js內建函式JS函式
- php 內建函式PHP函式
- webgl內建函式--指數函式Web函式
- python常用內建函式Python函式
- Python內建函式(二)Python函式
- 1.5.5 Python內建函式Python函式
- Python 內建函式大全Python函式
- python 常用內建函式Python函式
- Python內建函式示例Python函式
- 18. 內建函式函式
- python內建函式——sortedPython函式
- webgl內建函式--幾何函式與矩陣函式Web函式矩陣
- webgl內建函式--向量函式與紋理查詢函式Web函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- python內建函式 map/reducePython函式
- day13 內建函式函式
- python合集———內建函式合集Python函式
- python的部分內建函式Python函式
- 12.4、python內建函式—sortedPython函式
- 12.2、python內建函式—formatPython函式ORM
- c++內建函式物件C++函式物件
- python高階內建函式Python函式
- c++中內建函式C++函式
- python常見內建函式Python函式
- python 66個內建函式Python函式
- Python內建函式合集,一定要收藏好!Python函式
- python內建函式-eval()函式與exec()函式的區別Python函式
- webgl內建函式--角度和三角函式Web函式
- 幾個重要的內建函式函式
- GO語言————6.5 內建函式Go函式
- PHP內建字串函式實現PHP字串函式
- MySQL內建函式:year()、 week()相容MySql函式
- Golang記憶體分配內建函式之new函式Golang記憶體函式
- 生成器 推導式 內建函式函式