標籤:
--ORACLE內建函數:單行函數,集合函數
--1.絕對值,取餘,判斷資料正負函數,
SELECT ABS(100),ABS(-100),ABS(‘100‘) FROM DUAL;
SELECT MOD(5,2) MOD(8/3,5),MOD(‘10‘,5),MOD(-10,6),MOD(1,0) FROM DUAL;
SELECT SIGN(‘9‘),SIGN(-9),SIGN(0.00),SIGN(-2*‘9‘) FROM DUAL;
--三角函數
SELECT COS(3.1415926),COS(‘3.1415926‘) FROM DUAL;
ACOS(N)返回N的反餘弦值
COSH(N)返回N的雙曲餘弦值
SIN(N)返回N的正炫值
SINH(N)返回N的雙曲正炫值
ASIN(N) 返回N的反正炫值
TAN(N)返回N的正切值
TANH(N)返回N的雙曲正切值
ATAN(N)返回N的正切值
--返回以指定數值為準整數的函數
SELECT CELL(10),CELL(‘10.5‘),CELL(-10.2) FROM DUAL;
SELECT FLOOR(10),FLOOR(‘10.5‘),FLOOR(-10.2) FROM DUAL;
--指數對數
SELECT SQRT(100),SQRT(‘53.9‘) FROM DUAL;
SELECT POWER(5,2),POWER(‘5‘,2),POWER(5.5,2.5), FROM DUAL;
SELECT LOG(10,100),LOG(10.5,‘100‘),POWER(10,2) FROM DUAL;
--四捨五入
SELECT ROUND(100.23456,4),ROUND(100.23456,2.56),ROUND(155.23456,-2) FROM DUAL;
--ASCII碼與字元轉換函式
SELECT CHR(65)||CHR(66)||CHR(67) ABC,CHR(54678) FROM DUAL;
SELECT ASCII(‘明‘) ,ASCII(‘ADB‘),ASCII(‘ABC‘) FROM DUAL;
--帶排序參數的字母大小寫轉換函式
--NLS_INITCAP(PARAM) 將指定參數的第一個字母轉換成大寫
--NLS_UPPER(PARAM) 將指定參數變成大寫
--NLS_LOWER(PARAM) 將指定參數變成小寫
SELECT NLS_INITCAP(‘a test‘),NLS_INITCAP(‘my test‘,‘nls_sort=schinese_stroke_m‘) from dual;
SELECT NLS_INITCAP(‘this is a test‘),NLS_INITCAP(‘my test‘,‘nls_sort=schinese_pinyin_m‘) from dual;
SELECT NLS_INITCAP(‘A TEST‘),NLS_INITCAP(‘MY TEST‘,‘NLS_SORT=schinese_stroke_m‘) from dual;
--為指定參數排序函數
SELECT * FROM PRODUCTINFO ORDER BY NLSSORT(PROCEDURE,‘NLS_SORT=SCHINESE_PINYIN_M‘)
select trim(trailing ‘t‘ from ‘test‘),trim(‘ test ‘) from dual;
select rtrim(‘test*ffs‘,‘fs*t‘) from dual;
select ltrim(‘ ftest‘,‘ f‘),length(ltrim(‘ ftest‘,‘ f‘)) from dual;
--字元集名稱和ID轉換函式
select nls_charset_id(‘US7ASCII‘) from dual;
select nls_charset_name(1) from dual;
--日期函數
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual;
select systimestamp from daul;
select dbtimezone from dual; --得到資料庫時區函數
select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘)one,to_char(new_time(sysdate,‘pdt‘,‘est‘),‘yyyy-mm-dd hh24:mi:ss‘)two from dual;--時區時間轉換函式
--字串轉ASCII類型字串函數
select ASCIISTR(‘這是測試!‘) from dual;
--二進位轉換為十進位
select bin_to_num(1),bin_to_num(1,0,0),bin_to_num(1,1,1) from dual;
--資料類型轉換函式
cast()
--字串轉換rowid函數
select chartorowid(‘AAAABBBCCC‘) from dual;
select rowidtochar(rowid) from dual;
--字串在字元集間轉換函式
select convert(‘測試‘,‘US7ASCII‘,‘ZHS16GBK‘) from dual;
Oracle資料庫內建函數