我想將此1/4/2022 12:00:00 AM存盤在 Date 型別的列中,但我收到此錯誤ORA-01843: not a valid month 如果可以在 oracle 中執行此操作,我可以獲得任何幫助
uj5u.com熱心網友回復:
使用to_date具有適當格式模型的函式。
在您的示例中,不清楚1/4/2022代表什么(是 4 月 1 日還是 1 月 4 日),所以我試圖猜測它。
SQL> create table test (col date);
Table created.
SQL> insert into test (col) values (to_date('1/4/2022 12:00:00 AM', 'dd/mm/yyyy hh:mi:ss am'));
1 row created.
SQL>
如何獲取該值?
一種選擇是與插入資料時類似,但這次使用to_char函式:
SQL> select to_char(col, 'dd/mm/yyyy hh:mi:ss am') result from test;
RESULT
----------------------
01/04/2022 12:00:00 AM
另一種選擇是更改會話;然后select * from test回傳所需的結果:
SQL> alter session set nls_date_format = 'dd/mm/yyyy hh:mi:ss am';
Session altered.
SQL> select * from test;
COL
----------------------
01/04/2022 12:00:00 AM
SQL>
AM/PM 區分:Oracle知道您輸入的內容:
SQL> insert into test (col) values (to_date('1/4/2022 2:30:00 PM', 'dd/mm/yyyy hh:mi:ss am'));
1 row created.
SQL> select * from test;
COL
----------------------
01/04/2022 12:00:00 AM
01/04/2022 02:30:00 PM
SQL>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/476279.html
