Oracle支持中文日期,比如标题中的这种格式 21-1月-21 02.23.12.150 下午 这里的150是毫秒。
下面测试一下,如何向数据表中插入这种格式的日期。
测试表如下:
CREATE TABLE OJDBC_TEST ( id NUMBER NOT NULL , createtime TIMESTAMP(3) ); ALTER TABLE OJDBC_TEST ADD CONSTRAINT "SYS_C007002" PRIMARY KEY (id);
现插入一条数据,insert语句如下:
insert into OJDBC_TEST values(1,'21-1月-21 02.23.12.150 下午');
报错如下:
ORA-01843: not a valid month,这是因为Oracle默认不支持中文日期
执行select * from V$NLS_PARAMETERS; 语句,查询nls_date_language参数
默认语言是AMERICAN,执行ALTER SESSION SET nls_date_language='SIMPLIFIED CHINESE'; 语句设置为中文,注意是会话级别,每次会话都要设置一次。
修改成中文后,再执行insert,成功!