Oracle to_char函式的使用
阿新 • • 發佈:2018-12-30
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;
![](https://img-blog.csdnimg.cn/20181230144229747.png)
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