Oracle 基礎(chǔ)知識(shí)中單行函數(shù)里六個(gè)主要項(xiàng)目
Oracle 基礎(chǔ)知識(shí)中的單行函數(shù)中包括六個(gè)主要項(xiàng)目,其中包括數(shù)字函數(shù)的相關(guān)介紹,字符函數(shù)的實(shí)際應(yīng)用以及日期函數(shù)等相關(guān)內(nèi)容的介紹,以下就是Oracle 基礎(chǔ)知識(shí)中的單行函數(shù)的其他項(xiàng)目的介紹。
1. 數(shù)字函數(shù)
ABS 取絕對(duì)值 POWER 乘方 LN 10為底數(shù)取0
SQRT 平方根 EXP e的n次乘方 LOG(m,n) m為底數(shù)n取0
數(shù)學(xué)運(yùn)算函數(shù):ACOS ATAN ATAN2 COS COSH SIGN SIN SINH TAN TANH
CEIL 大于或等于取整數(shù)
FLOOR 小于或等于取整數(shù)
MOD 取余數(shù)
ROUND(n,m) 按m的位數(shù)取四舍五入值如果round(日期): 中午12以后將是明天的日期.
round(sysdate,'Y')是年的第一天
TRUNC(n,m) 按m的位數(shù)取小數(shù)點(diǎn)后的數(shù)值如果trunc(日期), 確省的是去掉時(shí)間
6
J2EE @ zxw
2. 字符函數(shù)
CHR 按數(shù)據(jù)庫(kù)的字符集由數(shù)字返回字符
CONCAT(c1,c2) 把兩個(gè)字符c1,c2組合成一個(gè)字符, 和 || 相同
REPLACE(c,s,r) 把字符c里出現(xiàn)s的字符替換成r, 返回新字符
SUBSTR(c,m,n) m大于0,字符c從前面m處開(kāi)始取n位字符,m等于0和1一樣,
m小與0,字符c從后面m處開(kāi)始取n位字符
TRANSLATE(c,f1,t1) 字符c按f1到t1的規(guī)則轉(zhuǎn)換成新的字符串
INITCAP 字符首字母大寫(xiě),其它字符小寫(xiě)
LOWER 字符全部小寫(xiě)
UPPER 字符全部大寫(xiě)
LTRIM(c1,c2) 去掉字符c1左邊出現(xiàn)的字符c2
RTRIM(c1,c2)
TRIM(c1,c2) 去掉字符c1左右兩邊的字符c2
LPAD(c1,n,c2) 字符c1按制定的位數(shù)n顯示不足的位數(shù)用c2字符串替換左邊的空位
RPAD(c1,n,c2)
3. 日期函數(shù)
ADD_MONTHS(d,n) 日期值加n月
LAST_DAY 返回當(dāng)月的最后一天的日期
MONTHS_BETWEEN(d1,d2) 兩個(gè)日期值間的月份,d1<d2 返回負(fù)數(shù)
NEXT_DAY 返回日期值下一天的日期
SYSDATE 當(dāng)前的系統(tǒng)時(shí)間
DUAL是SYS用戶下一個(gè)空表,它只有一個(gè)字段dummy
4. 轉(zhuǎn)換函數(shù)(1)
TO_CHAR(date,'日期顯示格式')
TO_CHAR(number) 用于顯示或報(bào)表的格式對(duì)齊
TO_DATE(char,'日期顯示格式')
TO_LOB 把long字段轉(zhuǎn)換成lob字段
TO_NUMBER(char) 用于計(jì)算或者比較大小
轉(zhuǎn)換函數(shù)(2)
to_date里日期顯示格式
YYYY 年 YEAR YYY YY Y
Q 季度
MM 月 MONTH MON
W 星期 (week of month) WW, IW (week of year)
(說(shuō)明:周計(jì)是按ISO標(biāo)準(zhǔn),從1月1日的星期數(shù)到后面七天為一周,不一定是從周一到周日)
DD 日 DAY DY
HH24 小時(shí) HH12 HH
MI 分鐘
SS 秒
如果想固定日期的顯示格式可以在數(shù)據(jù)庫(kù)的參數(shù)文件initorasid.ora里新寫(xiě)一行參數(shù)
NLS_DATE_FORMAT=yyyy-mm-dd
hh24:mi:ss可以在UNIX環(huán)境變量或者NT的注冊(cè)表里的設(shè)置 NLS_DATE_FORMAT=yyyy-mm-dd
7
J2EE @ zxw
hh24:mi:ss
轉(zhuǎn)換函數(shù)(3)
如果想固定日期的顯示格式可以用alter session命令改變
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
它的作用順序如下:
initialization parameter
Environment variable
ALTER SESSION command
轉(zhuǎn)換函數(shù) (4)
to_char(number)里數(shù)字顯示格式
9 數(shù)字位
0 數(shù)字前面補(bǔ)0 to_char(-1200,'00000.00')
小數(shù)點(diǎn)的位置
標(biāo)記位置的逗號(hào) 用在數(shù)字顯示格式的左邊
L 根據(jù)數(shù)據(jù)庫(kù)字符集加貨幣符號(hào) to_char(-1200,'L9999.99')
B 把數(shù)字0顯示為空格,用在數(shù)字顯示格式的右邊
MI 右邊的負(fù)數(shù)標(biāo)記 to_char(-1200,'9999.99MI')
PR 括起來(lái)的負(fù)數(shù) to_char(-1200,'9999.99PR')
EEEE 用指數(shù)方式表示 to_char(-1200,'9999.99EEEE')
5. 輸入字符,返回?cái)?shù)字的函數(shù)
instr(c1,c2) 字符c2出現(xiàn)在c1的位置, 不出現(xiàn), 返回0, 常用于模糊查詢
length 按數(shù)據(jù)庫(kù)的字符集,算出字符c的長(zhǎng)度,跟數(shù)據(jù)庫(kù)的字符集有關(guān), 一個(gè)漢字長(zhǎng)度為1
6. 有邏輯比較的函數(shù)NVL(EXPR1, EXPR2)函數(shù)
解釋: IF EXPR1=NULL RETURN EXPR2
ELSE RETURN EXPR1
DECODE(AA0V10R10V20R2....)函數(shù)
解釋: IF AA=V1 THEN RETURN R1
IF AA=V2 THEN RETURN R2
..…
ELSE
RETURN NULL
舉例: decode(id,1,'dept sale',2,'dept tech')