Oracle中常用的函數(shù):
upper(字符串):轉(zhuǎn)換成大寫(xiě)
lower(字符串):轉(zhuǎn)換成小寫(xiě)
concat(字符串1,字符串2):將字符串1和字符串2連接,相當(dāng)于||
initcap(字符串):將字符串的首字母變成大寫(xiě)的
length(字符串):字符串長(zhǎng)度,根據(jù)內(nèi)容的長(zhǎng)度來(lái)判定。
instr(字符串1,字符串2):判斷字符串2在字符串1中第一次出現(xiàn)的位置,類似java中的indexOf()
在Oracle中字符串的起始位置是從1開(kāi)始的
substr(字符串1, 起始位置, 長(zhǎng)度):從“起始位置”開(kāi)始截取字符串1,截取“長(zhǎng)度”個(gè)
trim(字符串):去除字符串左右兩邊的空格
lpad(字符串1,長(zhǎng)度,字符串2):指定字符串1的長(zhǎng)度,如果字符串1不滿足指定長(zhǎng)度,那么在左邊用字符串2補(bǔ)齊:
這里面使用的長(zhǎng)度是以字符為單位的
rpad(字符串1,長(zhǎng)度,字符串2):指定字符串1的長(zhǎng)度,如果字符串1不滿足指定長(zhǎng)度,那么在右邊用字符串2補(bǔ)齊。
round(數(shù)值[,保留位數(shù)]):如果是一個(gè)參數(shù),那么對(duì)參數(shù)做四舍五入的運(yùn)算,如果是兩個(gè)參數(shù),小數(shù)點(diǎn)后保留相應(yīng)的位數(shù)。
trunc(數(shù)值):取整
mod(參數(shù)1,參數(shù)2):取余數(shù)
nvl(參數(shù)1,參數(shù)2):如果參數(shù)1為空,那么用參數(shù)2替換參數(shù)1.
查詢學(xué)生表中的數(shù)學(xué)成績(jī),如果沒(méi)有數(shù)學(xué)成績(jī),算作0分

nvl2(參數(shù)1,參數(shù)2,參數(shù)3):如果參數(shù)1為空,那么用參數(shù)3替換參數(shù)1,如果參數(shù)1不為空,用參數(shù)2替換參數(shù)1;
查詢學(xué)生表中的數(shù)學(xué)成績(jī),如果有數(shù)學(xué)成績(jī)顯示1,如果沒(méi)有數(shù)學(xué)成績(jī)顯示0:

nullif(參數(shù)1,參數(shù)2):如果參數(shù)1和參數(shù)2相同,返回空值,如果參數(shù)1和參數(shù)2不同,返回參數(shù)1。
在Oracle中經(jīng)常會(huì)用到各數(shù)據(jù)類型的轉(zhuǎn)換,日期類型可以和字符類型相互轉(zhuǎn)換,字符類型可以和數(shù)值類型相互轉(zhuǎn)換,日期類型不能和數(shù)值類型相互轉(zhuǎn)換
to_char():
日期轉(zhuǎn)換字符

yyyy:年
mm:月
dd:日
hh:時(shí)
hh24:24小時(shí)制的時(shí)
mi:分鐘
ss:秒
數(shù)值轉(zhuǎn)換字符:

to_date()
字符轉(zhuǎn)換成日期

to_number()
字符轉(zhuǎn)換成數(shù)值
months_between(日期1,日期2):計(jì)算兩個(gè)日期之間相差的月份數(shù)

計(jì)算時(shí)是用日期1減去日期2得到月份數(shù)
add_months(日期, 月份數(shù)):為日期加上相應(yīng)的月份數(shù)

last_day(日期):返回日期中月份的最后一天

分組函數(shù):
count()統(tǒng)計(jì)函數(shù):
查詢student表中一共有多少個(gè)學(xué)生:

max/min:最大值、最小值
sum()求和:
查詢學(xué)生表中所有同學(xué)的數(shù)學(xué)成績(jī)總分:

avg()平均值:
查詢學(xué)生表中所有同學(xué)的數(shù)學(xué)成績(jī)平均分:

group by 分組語(yǔ)句
