在 Oracle 10g 中,我如何将这种格式 1/4/2022 12:00:00 AM 存储在日期类型的列中
In Oracle 10g how can i store this format 1/4/2022 12:00:00 AM in Column of type Date
我想将此 1/4/2022 12:00:00 AM 存储在日期类型的列中,但出现此错误 ORA-01843:不是有效月份 如果可以在 oracle
中执行此操作,我可以得到任何帮助吗
使用具有适当格式模型的 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
returns 想要的结果:
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>
我想将此 1/4/2022 12:00:00 AM 存储在日期类型的列中,但出现此错误 ORA-01843:不是有效月份 如果可以在 oracle
中执行此操作,我可以得到任何帮助吗使用具有适当格式模型的 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
returns 想要的结果:
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>