to_date函式與當前系統時間格式可否隱式轉換問題總結
1.如to_date函式中時間格式與當前時間格式相符,可以不在函式中指定格式而完成隱式轉換。
BYS@bys1>select sysdate from dual;
SYSDATE-------------------
2013/10/25 09:40:31
BYS@bys1>select to_date('2013/10/25 09:40:31') from dual;
TO_DATE('2013/10/25
-------------------
2013/10/25 09:40:31
當前日期格式下,下面幾種格式都可以隱式轉換--應該是日期間連線符使用特殊字元都沒問題,但是月與日、小時、分鐘要能對上。
不能使用&,&表示傳入變數。不能使用數字或字母字元。
BYS@bys1>select to_date('2013-02-21 10:00:00') from dual;
TO_DATE('2013-02-21
-------------------
2013/02/21 10:00:00
BYS@bys1>select to_date('2013-02#21 10:00+00') from dual;
TO_DATE('2013-02#21
-------------------
2013/02/21 10:00:00
BYS@bys1>select to_date('2013-02a21 10:00+00') from dual;
select to_date('2013-02a21 10:00+00') from dual
*
ERROR at line 1:
ORA-01861: literal does not match format string
BYS@bys1>select to_date('2013-02921 10:00+00') from dual;
select to_date('2013-02921 10:00+00') from dual
*
ERROR at line 1:
ORA-01861: literal does not match format string
BYS@bys1>select to_date('2013-02@21 10:00+00') from dual;
TO_DATE('2013-02@21
-------------------
2013/02/21 10:00:00
如果to_date函式中格式-欄位長度與系統的不符的幾種情況:
把最後的表示秒的字元省略,可以正常顯示。
BYS@bys1>select to_date('2013-02@21 10:00') from dual;
TO_DATE('2013-02@21
-------------------
2013/02/21 10:00:00
把最後的表示秒的字元及表示具體幾號的字元省略,報錯。
BYS@bys1>select to_date('2013-@21 10:00') from dual;
select to_date('2013-@21 10:00') from dual
*
ERROR at line 1:
ORA-01858: a non-numeric character was found where a numeric was expected
只給出10點,分和秒未給出,以0代替。
BYS@bys1>select to_date('2013-02@21 10') from dual;
TO_DATE('2013-02@21
-------------------
2013/02/21 10:00:00
只給出日期的欄位,時、分、秒用0來代替。
BYS@bys1>select to_date('2013-02@21 ') from dual;
TO_DATE('2013-02@21
-------------------
2013/02/21 00:00:00
只給出年-月,未給幾號,報錯。
BYS@bys1>select to_date('2013-02 ') from dual;
select to_date('2013-02 ') from dual
*
ERROR at line 1:
ORA-01840: input value not long enough for date format
BYS@bys1>select to_date('2013-02$1 ') from dual;
TO_DATE('2013-02$1'
-------------------
2013/02/01 00:00:00
2.to_date函式中時間格式與當前時間格式不符,需要在函式中顯式指定時間格式來完成轉換。
BYS@bys1>select sysdate from dual;
SYSDATE
---------
25-OCT-13
注意列寬,以免不能顯示全。
BYS@bys1>col aa for a20
BYS@bys1>select to_date('2013-02-21 10:00:00','yyyy-mm-dd hh24:mi:ss') aa from dual;
AA
--------------------
21-FEB-13
不指定格式會報錯:
BYS@bys1>select to_date('2013-02-21 10:00:00') from dual;
select to_date('2013-02-21 10:00:00') from dual
*
ERROR at line 1:
ORA-01861: literal does not match format string
相關文章
- mysql隱式轉換問題MySql
- [20220811]奇怪的隱式轉換問題.txt
- js顯式轉換和隱式轉換JS
- 當Bcrypt與其他Hash函式同時使用時造成的安全問題函式
- EXCEL中日期格式轉換為文字格式-函式TEXTExcel函式
- 建構函式定義的隱式型別轉換函式型別
- java隱式轉換Java
- javascript 隱式轉換JavaScript
- sql隱式轉換SQL
- ORACLE中日期和時間函式彙總(轉載)Oracle函式
- php 驗證格式的函式總結PHP函式
- Ffmpeg分散式影片轉碼問題總結分散式
- [時間格式的轉換]
- 轉換UTC時間格式
- linux系統時間程式設計(6) 日曆時間tm轉字串strftime函式Linux程式設計字串函式
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- Scala Essentials: 隱式轉換
- [20191106]隱式轉換.txt
- 使用正規表示式優雅的解決 SpringMVC 時間轉換問題SpringMVC
- 時間函式:與時間相關那些事。。。函式
- 字串與數字轉換函式 | 全方位認識 sys 系統庫字串函式
- MySQL日期和時間函式彙總MySql函式
- scala簡明教程:偏函式、高階函式、Future非同步程式設計、隱式轉換函式非同步程式設計
- JavaScript 時間日期格式轉換JavaScript
- 分散式系統的硬核:時間時鐘問題和演算法分散式演算法
- js時間戳與日期格式的相互轉換JS時間戳
- mysql 獲取當前日期函式及時間格式化引數詳解MySql函式
- MySQL中日期和時間戳互相轉換的函式和方法MySql時間戳函式
- c++ CopyFile函式響應時間過長問題。C++函式
- JavaScript隱式型別轉換JavaScript型別
- 【C++】禁止隱式轉換C++
- Java資料型別的顯式轉換和隱式轉換Java資料型別
- javascript和PHP及MYSQL時間格式化函式JavaScriptPHPMySql函式
- PHP 時間函式PHP函式
- JavaScript 時間轉換為UTC格式JavaScript
- T-SQL——函式——時間操作函式SQL函式
- 3.2.1.0 釋出!時間轉換函式+BI 整合+檢視正式上線!函式
- Golang時間函式及測試函式執行時間案例Golang函式
- Sigmoid函式總結Sigmoid函式