隨筆-28  評(píng)論-15  文章-81  trackbacks-0

          1. nvl( ) 函數(shù)

          示例 請(qǐng)參閱

          從兩個(gè)表達(dá)式返回一個(gè)非 null 值。

          語(yǔ)法

          NVL(eExpression1, eExpression2)

          參數(shù)
          eExpression1, eExpression2

          如果 eExpression1 的計(jì)算結(jié)果為 null 值,則 NVL( ) 返回 eExpression2。如果 eExpression1 的計(jì)算結(jié)果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 可以是任意一種數(shù)據(jù)類型。如果 eExpression1 與 eExpression2 的結(jié)果皆為 null 值,則 NVL( ) 返回 .NULL.。

          返回值類型

          字符型、日期型、日期時(shí)間型、數(shù)值型、貨幣型、邏輯型或 null 值

          說(shuō)明

          在不支持 null 值或 null 值無(wú)關(guān)緊要的情況下,可以使用 NVL( ) 來(lái)移去計(jì)算或操作中的 null 值。

          select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID

          注意:兩個(gè)參數(shù)得類型要匹配

          2.TO_CHAR(date,'format')
          SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;

          TO_CHAR(SYSDATE,'YY
          -------------------
          2004/05/09 21:14:41

          select TO_CHAR(1,'FM09') from dual       result: 0

          3.Oracle函數(shù)之substr

          substr函數(shù)有三個(gè)參數(shù),允許你將目標(biāo)字符串的一部份輸出,

          第一個(gè)參數(shù)為目標(biāo)字符串,

          第二個(gè)字符串是將要輸出的子串的起點(diǎn),

          第三個(gè)參數(shù)是將要輸出的子串的長(zhǎng)度。
             
          例子1:

          substr('ABCDEFG',   2,   3)   =   'BCD'  
             
          如果第二個(gè)參數(shù)為負(fù)數(shù),那么將會(huì)從源串的尾部開(kāi)始向前定位至負(fù)數(shù)的絕對(duì)值的位置。

          例子2:

          substr('ABCDEFG',   -2)   =   'FG'

          substr('ABCDEFG',   -4)   =   'DEFG'


           4.Oracle 函數(shù)之round
          描述 : 傳回一個(gè)數(shù)值,該數(shù)值是按照指定的小數(shù)位元數(shù)進(jìn)行四舍五入運(yùn)算的結(jié)果。
          SELECT ROUND( number, [ decimal_places ] ) FROM DUAL
          參數(shù):
          number : 欲處理之?dāng)?shù)值
          decimal_places : 四舍五入 , 小數(shù)取幾位 ( 預(yù)設(shè)為 0 )
          Sample :
          select round(123.456, 0) from dual; 回傳 123
          select round(123.456, 1) from dual; 回傳 123.5
          select round(123.456, 2) from dual; 回傳 123.46
          不過(guò)最大長(zhǎng)度不會(huì)超過(guò)16位
          SELECT ROUND(112211111111263.451,6) FROM DUAL;   回傳112211111111263


          posted on 2008-02-03 13:42 譚明 閱讀(629) 評(píng)論(2)  編輯  收藏 所屬分類: Oracle

          評(píng)論:
          # re: Oracle 函數(shù)應(yīng)用[未登錄](méi) 2008-09-18 12:53 | 小剛
          當(dāng)substr的源字符為null或空字符串時(shí),是否會(huì)報(bào)錯(cuò)?  回復(fù)  更多評(píng)論
            
          # re: Oracle 函數(shù)應(yīng)用 2008-09-18 14:17 | 譚明
          不會(huì)的,返回的還是空@小剛
            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 布拖县| 上栗县| 浦县| 沅江市| 青铜峡市| 绍兴县| 来安县| 莲花县| 大同县| 体育| 麦盖提县| 开阳县| 琼海市| 连云港市| 辽中县| 稻城县| 常山县| 砚山县| 文登市| 尖扎县| 鹤岗市| 水城县| 鲜城| 松溪县| 临邑县| 若尔盖县| 堆龙德庆县| 盱眙县| 黑河市| 贺兰县| 左云县| 富锦市| 辽中县| 芜湖县| 顺昌县| 乌兰察布市| 永定县| 宝坻区| 广河县| 武穴市| 长沙市|