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
相關文章
- Oracle中的時間函式用法(to_date、to_char) (總結)Oracle函式
- mysql隱式轉換問題MySql
- TO_DATE函式的小問題(二)函式
- oracle時間間隔轉換函式Oracle函式
- 轉換時間戳的函式時間戳函式
- SQL時間函式總結(二)SQL函式
- Scala隱式轉換與隱式引數
- 用Delphi獲取當前系統時間 (轉)
- UTC格式時間轉換為當地時間程式碼
- scala隱式轉換優先順序問題
- 當Bcrypt與其他Hash函式同時使用時造成的安全問題函式
- php格式化時間綴函式PHP函式
- to_char函式格式轉換參考函式
- js顯式轉換和隱式轉換JS
- php 驗證格式的函式總結PHP函式
- sql 獲取系統時間的函式。SQL函式
- QT獲取系統當前時間QT
- mysql時區與時間函式MySql函式
- 常用函式--時間函式函式
- EXCEL中日期格式轉換為文字格式-函式TEXTExcel函式
- Qt學習(5)獲取當前系統時間-實時顯示當前時間QT
- 建構函式定義的隱式型別轉換函式型別
- [PY3]——字典排序問題總結—(zip()函式、OrderedDict、itemgetter函式)排序函式
- Oracle to_date()函式的用法Oracle函式
- javascript 隱式轉換JavaScript
- sql隱式轉換SQL
- Oracle 隱式轉換Oracle
- java隱式轉換Java
- python獲取系統時間(時間函式詳解)Python函式
- Scala - 隱式轉換和隱式引數
- SQLserver中用convert函式轉換日期格式SQLServer函式
- ORACLE中日期和時間函式彙總(轉載)Oracle函式
- SQL中時間函式總結(一)SQL函式
- ORACLE單行函式與多行函式之五:轉換函式示例Oracle函式
- js獲取系統當前時間並且轉換成yyyy-MM-dd形式JS
- [時間格式的轉換]
- 轉換UTC時間格式
- 時間函式函式