Oracle如何解決日期格式“01-3月 -18”的顯示問題(3種處理方式)


今天查詢表數據還是出現上次那種問題,但是每次都要去調用轉化函數,比較麻煩,所以找一下資料,得到幾種方式解決oralce的日期數據顯示格式

問題描述:

解決方法

1)方法1:調用Oracle函數轉化成日期格式

-- 方法1:調用函數支持轉化成日期格式(每次都要調用轉化方法)---
select A.CODE,to_char(cast(cast(A.BEGINDATE as timestamp) as date),'yyyy-mm-dd hh24:mi:ss') BEGINDATE,
 A.ENDDATE,A.STATE from Dxc_Contract A where STATE=9 and ISENABLE=1

查詢結果

缺點: 每次取數據的時候都要調用轉化函數,比較麻煩

2)方法2:改變session的NLS_DATE_FORMAT值

--方法2 :改變當前會話session的nls_date_format格式 (只支持當前會話)--
 alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

查詢結果

缺點:只對當前會話有用,而不是當前的sql*plus窗口

 3)方法3:在環境變量添加NLS_DATE_FORMAT參數

--方法3:在window 添加環境變量NLS_DATE_FORMAT,值:YYYY-MM-DD HH24:MI:SS--

3.1)在系統變量中添加新的環境變量

3.2)重啟pl/sql工具,進行查詢

 

這種方式是永久處理NLS_DATE_FORMAT的日期顯示格式,建議用這種方式

參考資料:

https://www.cnblogs.com/carekee/articles/4532905.html

https://blog.csdn.net/qiang_gu/article/details/6723466


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM