1. 程式人生 > >日期格式化轉換相關問題

日期格式化轉換相關問題

報錯 忘記 string 格式化 format 進行 意思 SQ 輸入

1.今天客戶讓我書寫sql。(今年1月份到現在發布了多少條信息)
每每遇到日期我就懵逼,或者當時遇到問題當時百度。過後又忘記了,又繼續新問題,今天來總結下
2.日期轉換格式,to_char和to_date
3.本身時間字段是date類型,那麽操作大於2017-01-01的發布信息,查詢略過,條件是create_date> to_date(‘2017-1-1‘, ‘yyyy-MM-dd ‘),註意可以過濾到時分秒
4.本身時間字段是varchar字段,那麽操作大於2017-1-1的發布信息,條件就要多轉一次,本身字段也要處理到to_date,如下sql條件to_date(substr(show_date,1,10),‘yyyy-mm-dd‘)>= to_date(‘2017-1-1‘, ‘yyyy-MM-dd‘),請註意,本身這個varchar時間字段的完整是到時分秒,那麽轉的時候也要到時分秒,否則會報錯:提示 ORA-01830: 日期格式圖片在轉換整個輸入字符串之前結束 錯誤


這個錯誤的意思就是字段是到時分秒,轉換的時候卻只到了年月日,所以會報錯!切記。這時可以加上時分秒,也可以截取處理,substr 1到10的索引就是年月日的處理了;
5.無論日期的比較,都要轉成to-date,否則無法比較出大於日期的條數,
6.對方是什麽字段什麽類型,就要按照格式進行對應的轉換處理;
7.另外日期格式轉換在java裏有個simpleDateFormat處理,創建對象可以指定日期格式;有parse和format方法,分別是日期和string之間的轉換;如下所示:
SimpleDateFormat sdfDateFormat =new SimpleDateFormat("yyyyMMddHHmm");

String moment=sdfDateFormat.format(new Date());

日期格式化轉換相關問題