<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
    ??? 今天在工作中發現一個問題,同樣的代碼在同事的機子上可以執行,在我的機子上報錯。
    ??? 做了一些簡化之后的SQL代碼如下:
    ?
    ??? SQL > select to_date(to_char(last_day(add_months(sysdate,-1)),'YYYY-MM-DD')) from dual;
    ?????????????????? *
    ??? ERROR at line 1:
    ??? ORA-01861: literal does not match format string
    ?
    ?
    ?
    ??? ****************************************************
    ?
    ??? 后來請教別人,發現應該是date類型的默認格式的問題。在同事機子上的默認格式本身就是'YYYY-MM-DD'的,所以在to_date函數后面,對'YYYY-MM-DD'格式的char無需再指定date格式類型,但是如果char格式與默認不一致,則會報錯。
    ?
    ??? date類型的默認格式由啟動參數 nls_date_format 指定
    ?
    ??? SQL > select * from nls_database_parameters where PARAMETER = 'NLS_DATE_FORMAT';
    ???
    ??? PARAMETER????????????VALUE
    ??? ---------------????? ----------------------
    ??? NLS_DATE_FORMAT????? DD-MON-RR
    ?
    ??? SQL > select sysdate from dual;
    ?
    ??? SYSDATE
    ??? -----------
    ??? 2008-NOV-05
    ?
    ??? 發現系統的默認NLS_DATE_FORMAT參數值為DD-MON-RR。
    ?
    ?
    ?
    ??? ****************************************************
    ?
    ??? 再查看當前DATABASE的該參數:
    ?
    ??? SQL > show parameter nls_date_format
    ???
    ??? NAME??????????????? TYPE??????? VALUE
    ??? ------------------- ----------- --------------------
    ??? nls_date_format?????string
    ?
    ??? 發現當前數據庫未設定該參數。
    ?
    ?
    ?
    ??? ****************************************************
    ?
    ??? 由于是系統的啟動參數,不能直接用alter database來修改,所以可以通過修改當前session來暫時實驗一下:
    ?
    ??? SQL > alter session set nls_date_format='yyyy-mm-dd';
    ?
    ??? Session altered.
    ?
    ??? SQL > select sysdate from dual;
    ?
    ??? SYSDATE
    ??? ----------
    ??? 2008-11-05

    ??? 再試一下之前的那段SQL
    ?
    ??? SQL > select to_date(to_char(last_day(add_months(sysdate,-1)),'YYYY-MM-DD')) from dual;
    ?
    ??? TO_DATE(TO
    ??? ----------
    ??? 2008-10-31
    ?
    ?
    ?
    ??? ****************************************************
    ?
    ??? 如果需要一直都這樣顯示,則可以 修改注冊表、添加環境變量、直接修改啟動參數文件
    ?
    ?
    ?




    -The End-

    posted on 2008-10-28 23:12 decode360-3 閱讀(329) 評論(0)  編輯  收藏 所屬分類: Oracle
    主站蜘蛛池模板: 亚洲一卡2卡3卡4卡国产网站| 久久亚洲AV午夜福利精品一区 | 国产亚洲精品VA片在线播放| 久久精品视频免费看| 亚洲AV人人澡人人爽人人夜夜| 青青操免费在线视频| 亚洲AV无码一区二区乱子伦| 美女被cao网站免费看在线看| 亚洲AV无码专区国产乱码4SE| 18禁成人网站免费观看| 亚洲第一精品电影网| 免费在线观看的网站| 亚洲丁香婷婷综合久久| 免费人成年激情视频在线观看| 国产精品九九久久免费视频| 亚洲精品无码永久在线观看你懂的| 国产好大好硬好爽免费不卡| 亚洲网站在线免费观看| 精品免费久久久久久成人影院| 精品国产亚洲第一区二区三区| 国产亚洲成人久久| 毛片无码免费无码播放| 国产精品亚洲综合五月天| 免费a级毛片在线观看| 美女巨胸喷奶水视频www免费| 色婷婷六月亚洲婷婷丁香| 毛片免费视频观看| jizz免费在线观看| 亚洲黄色在线播放| 国产精品免费看香蕉| 黄色片免费在线观看| 亚洲欧美日韩中文无线码 | 中文字幕一区二区三区免费视频 | 亚洲aⅴ无码专区在线观看春色| 亚洲精品第一国产综合境外资源| 日韩免费高清大片在线| 亚洲精品人成网线在线播放va| 亚洲中文字幕无码日韩| 99久久久精品免费观看国产| 边摸边吃奶边做爽免费视频99| 中文字幕亚洲免费无线观看日本 |