Oracle日期顯示問題以及trunc方法的使用
我們先來假設這麼一個場景,隻要輸入一個到月份的日期進入Oracle,比如2012年8月。但是輸入進了Oracle,會發現oracle自動補了個1號變成了2012-8-1,這並不是我們的本意。不要擔心,這隻是oracle的顯示問題。當然我們需要在取出的時候進行處理。
比如需要找到2012年8月份的數據,我們假設該表的日期字段為mydate字段。
錯誤做法
where mydate = to_char('2012.8','yyyy.mm')
這樣隻可以找出8.1號的數據
正確做法
and trunc(mydate,'mm') = to_date('2012.8‘,'yyyy.mm')將該字段階段至月份,隻比較到月份
當然trunc也有顯示的問題,現在是2012.8.6
select trunc(sysdate,'mm') from dual;
結果 2012-8-1
自動補上了一個1
select trunc(sysdate,'yy) from dual;
結果 2012-1-1
更過分,自動補上了兩個1
Oracle就是這樣,喜歡幫你補1。當然這隻是顯示的問題,操作的時候隻要截取你需要的即可。
最後更新:2017-04-03 07:57:20
上一篇:
java對象序列化的概念和實現
下一篇:
tomcat下的work目錄
Cloudera將於4月底登陸紐交所,基於Hadoop的商業公司前景何在?
談未來零售場景的物聯網技術發展
係統的可靠性分析與設計
【轉載】跟我一起寫 Makefile
while(~scanf("%d%d",&n,&m)) {...}
在惠普HP6531s筆記本上安裝xp的方法
[WCF REST] UriTemplate、UriTemplateTable與WebHttpDispatchOperationSelector
《計算機存儲與外設》----第1章 Computer Organization and Architecture: Themes and Variations Cache存儲器和虛擬存儲器 1.1 Cache存儲器概述
程序員的業餘生活之健身篇
【DevOps&SRE活動實錄】經驗+案例,教你如何打造易用DevOps工具鏈!