sql plus中输入时间的问题
来源:百度知道 编辑:UC知道 时间:2024/09/28 08:15:41
以下是我创建一个表到插入数据以及提示错误的过程,请帮忙解决一下
SQL> create table test_he(
2 he_name varchar2(25),
3 he_price number(4, 2),
4 he_date date
5 )
6 ;
Table created.
SQL> insert into test_he values
2 ('product name 2', 2.5, '29-JUN-2001')
3 ;
('product name 2', 2.5, '29-JUN-2001')
*
ERROR at line 2:
ORA-01843: not a valid month
一楼;怎么看啊?
二楼:没你那种格式啊?
SQL> create table test_he(
2 he_name varchar2(25),
3 he_price number(4, 2),
4 he_date date
5 )
6 ;
Table created.
SQL> insert into test_he values
2 ('product name 2', 2.5, '29-JUN-2001')
3 ;
('product name 2', 2.5, '29-JUN-2001')
*
ERROR at line 2:
ORA-01843: not a valid month
一楼;怎么看啊?
二楼:没你那种格式啊?
JUN 用中文 7月
(对不起 英文不好 不知道是不是7月)
不过肯定好使
ORACLE里面的DATE字段是需要特殊处理的,试一试:
insert into test_he values
('product name 2', 2.5, to_date('2001-06-29 00:00:00', 'yyyy-mm-dd hh24:mi:ss');
或者:
insert into test_he values
('product name 2', 2.5, to_date('2001-06-29', 'yyyy-mm-dd');
你应该去你系统里检查一下你的系统时间表示的设置
应该是你的系统里所设的日期格式和你现在所输入的不同
参考:
SQL> select to_date('2005-sep-20','yyyy-mon-dd') from dual;
ORA-01843: 无效的月份
SQL> alter session set NLS_DATE_LANGUAGE = American;
Session altered
SQL> select to_date('2005-sep-20','yyyy-mon-dd') from dual;
TO_DATE('2005-SEP-20','YYYY-MO
------------------------------
2005-9-20
http://www.52sdn.com/artid/214/