to_date( '".$params['ORDER_TIME']."','YYYY-MM-DD')
TO_DATE(:BEGIN_DATE,'yyyy-mm-dd hh24:mi:ss')
Oralce中的to_date()函數用於將字符串轉換為日期對象,具體使用格式為:
to_date( string, [ format_mask ] , [ nls_language ] )
string1
要轉換的字符串.
format_mask 可選項,日期轉換格式.
nls_language 可選項. 指定用於轉換字符串的nls language.
其中
format_mask主要有以下幾種格式:
Format Code |
Explanation |
YEAR
Year, spelled out
YYYY
4-digit year
MM
Month (01-12; JAN = 01).
MON
Abbreviated name of month.
MONTH
Name of month, padded with blanks to length of 9 characters.
D
Day of week (1-7).
DAY
Name of day.
DD
Day of month (1-31).
DDD
Day of year (1-366).
DY
Abbreviated name of day.
HH
Hour of day (1-12).
HH12
Hour of day (1-12).
HH24
Hour of day (0-23).
MI
Minute (0-59).
SS
Second (0-59).
SSSSS
Seconds past midnight (0-86399).
[問題]
ORA-01810: format code appears twice
可能是像Java那樣指定日期格式,比如:
to_char('2006-06-01 18:00:00' 'yyyy-mm-dd hh:MM:ss')
而在Oracle中的日期格式是不區分大小寫的,所以 mm 出現了兩次。
正確的寫法是:
to_char('2006-06-01 18:00:00' 'yyyy-mm-dd hh:mi:ss')
ORA-01722: invalid number
可能是指定小時為hh,而hh取值范圍是 1-12,所以如果指定小時為 0 點將出現這個異常,比如:
to_char('2006-06-01 00:00:00' 'yyyy-mm-dd hh:MM:ss')
正確的寫法是:
to_char('2006-06-01 00:00:00' 'yyyy-mm-dd hh24:MM:ss')