標籤:
一、字元型函數(只是記錄一些容易忘記的基本函數)
1、大小寫轉換函式
INITCAP:將字串中每一個單詞的第一個字母轉換為大寫,其他均為小寫
SELECT INITCAP(column) FROM DUAL
2、字串處理函數
INSTR:從一個字串中尋找一個給定字元的數字位置
SELECT INSTR(String,‘K‘) FROM DUAL
LPAD:用給定的字元從左填充字串到給定的長度
RPAD:用給定的字元從又填充字串到給定的長度
3、字串替代函數
REPLACE(string,‘被替換字串‘,‘替換的字串‘)
SELECT REPLACE(DATA_2,‘6‘,‘G‘) FROM DUAL
4、數字型函數
ROUND(x,y):四捨五入,保留小數點
SELECT ROUND(3.1247,2) FROM DUAL --->得到3.12
TRUNC(x,y):截斷x的值到y位小數點
SELECT TRUNC(3.5647,2) FROM DUAL --->得到3.56
MOD(x,y):返回x除以y的餘數
SELECT MOD(5,3) FROM DUAL --->得到3
5、日期時間函數(SYSDATE)
MONTHS_BETWEEN(date1,date2):計算兩個日期的月數
SELECT MONTHS_BETWEEN(TO_DATE(‘2016-09-10‘,‘YYYY-MM-DD‘),TO_DATE(‘2016-03-09‘,‘YYYY-MM-DD‘)) FROM DUAL;
ADD_MINTHS(date,n):添加n天到date,必須是整數,可以是負數
SELECT MONTHS_BETWEEN(TO_DATE(‘2016-09-10‘,‘YYYY-MM-DD‘),TO_DATE(‘2016-03-09‘,‘YYYY-MM-DD‘)) FROM DUAL;
NEXT_DAY(date,char):計算date之後的下一個周(char)的指定天的日期
SELECT NEXT_DAY(SYSDATE,‘星期五‘) FROM DUAL;
LAST_DAY(date):計算包含date的月的最後一天的日期
SELECT LAST_DAY(SYSDATE) FROM DUAL;
ROUND(date,‘frm‘):返回格式化模式frm四捨五入到指定單位date
SELECT ROUND(SYSDATE,‘YEAR‘) FROM DUAL;
TRUNC(date,‘frm‘):返回格式化模式截斷到指定單位的帶天的時間部分date
SELECT TRUNC(SYSDATE,‘YEAR‘) FROM DUAL;
6、類型轉換函式
CHARTOROWID:將包含外部格式的ROWID的CHAR或者VARCHAR2數值轉換為ROWID
CONVERT:將一個字元集轉換到另一個字元集
HEXTORAW:將十六進位字串轉換為RAW
ROWIDTOCHAR:將ROWID轉換為字串表示形式
TO_BLOB:將指定的值轉換成BLOB類型值
TO_CHAR(date,日期格式):將日期型或數字型的值轉換為VARCHAR2的類型值
SELECT TO_CHAR(SYSDATE,‘YYYY-MM-DD HH:MM:SS‘) FROM DUAL;
TO_CLOB:將指定的值轉換成CLOB類型的值
TO_DATE:將CHAR或VARCHAR2字串強制轉換為日期值
SELECT TO_DATE(‘20160902‘,‘YYYY-MM-DD‘) FROM DUAL;
TO_LABEL:將CHAR或VARCHAR2字串強轉為MLSLABLE
TO_MULTI_BYTE:將任何單位元組字串轉換為多位元組字串
TO_NUMBER:將CHAR或VARCHAR2字串強制轉為NUMBER
SELECT TO_NUMBER(‘$20160902‘,‘$999999999‘) FROM DUAL;
TO_SINGLE_BYTE:將任何多位元組字串轉為單位元組字串
7、分組函數
AVG:返回列平均數
COUNT:返回查詢行總數
SUM:返回列總和
MIN:返回列最小值
MAX:返回列最大值
8、其他函數
NVL
NVL2
NULLIF
COALESCE
DECODE
二、Oracle分析型函數
123
SQL內建函數