Oracle 版本
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
使用場景
在oracle中存儲的日期類型為Date.
精確到秒鍾.
當存儲的時間只精確到天時, 用String類型的java字段接收該值,會導致秒分時全部為0
例如 endtime字段為Date類型.
用java的String類型接收. 會自動把秒分時補為00:00:00
解決方案
使用to_char函數, 可以指定最終想要的日期格式的類型.
類似於java中的SimpleDateFormat.
例如在上面的例子中, 只想要查詢出來的結果精確到天.那么在sql中使用如下
select
to_char(ENDTIME,'YYYY-MM-DD') ENDTIME
FROM tablename
使用的方法如上. 把要查詢的字段傳入to_char函數的第一個參數中.
第二個參數為指定日期的格式.
只需要查年月日,則指定為YYYY-MM-DD.
經過這樣的sql處理后, 在java中用string 類型的接收.日期的格式如下.
其他時間的格式
在sql中 , yyyy-mm-dd hh24:mi:ss
中的字母, 大小寫均可.
查詢24小時格式的, 精確到秒的
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;
12小時格式的
select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss')from dual;
參考文章
https://blog.csdn.net/dtjiawenwang88/article/details/73295181
https://blog.csdn.net/tanzongbiao/article/details/82528267