Oracle日期顯示問題以及trunc方法的使用

2021-09-21 15:09:17 字數 738 閱讀 8492

我們先來假設這麼乙個場景,只要輸入乙個到月份的日期進入oracle,比如2023年8月。但是輸入進了oracle,會發現oracle自動補了個1號變成了2012-8-1,這並不是我們的本意。不要擔心,這只是oracle的顯示問題。當然我們需要在取出的時候進行處理。

比如需要找到2023年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。當然這只是顯示問題,操作時只要擷取你需要的即可。

woshixuye111

Oracle日期顯示問題以及trunc方法的使用

oracle日期顯示問題以及trunc方法的使用 我們先來假設這麼乙個場景,只要輸入乙個到月份的日期進入oracle,比如2012年8月。但是輸入進了oracle,會發現oracle自動補了個1號變成了2012 8 1,這並不是我們的本意。不要擔心,這只是oracle的顯示問題。當然我們需要在取出的...

oracle 日期顯示英文格式

我們初學者安裝oracle的時候,字符集選擇的一般是簡體中文的格式,這方便我們英文不好的菜鳥,出錯的時候定位錯誤,但是有乙個問題伴隨出現,我們寫關於日期的sql的語句,我們想要英文的格式怎麼辦?下面有兩個辦法 1.連線到資料庫後,我們使用如下語句 alter session set nls date...

DataGridView顯示日期格式問題

給datagridview單元格繫結或者賦值datatime資料後有時會發現不能顯示完整的資料格式,怎麼辦呢?給出解決方案如下 1.指定整列的顯示格式 m datagridview.columns columnindex defaultcellstyle.format yyyy mm dd hh m...