【YashanDB知识库】导入数据时报错:YAS-00008 type convert error:literal does not match format string

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7901522.html?templateId=1718516

现象

将数据通过SQL语气导入崖山时报错:YAS-00008 type convert error : literal does not match format string

原因

插入日期类型的字符串,不是配置参数DATE_FORMAT所指定的配置参数。数据库的默认DATE_FORMAT=’yyy-mm-dd’,如果插入的期类型的字符串是 ‘2024-12-16 11:27:03’ 就会报该错误。 例如:

CREATE TABLE test(f date); – 导入的表中有date字段

insert into test(f) values(‘2024-12-16 11:27:03’); – 导入数据的日期类型的字符串

就会的报错“literal does not match format string”, 可以认为是插入时数据库DATE_FORMAT格式进行to_date转换时报错形如: SELECT to_date(‘2024-12-16 11:27:03’, ‘yyyy-mm-dd’) FROM dual;

也会报一样的错误。

解决办法

1、修改配置参数DATE_FORMAT为导入的时间格式,‘2024-12-16 11:27:03’ 就用’yyyy-mm-dd hh24:mi:ss’

alter system set DATE_FORMAT=‘yyyy-mm-dd hh24:mi:ss’ scope=spfile; --修改后,需要重启数据库参数才生效

2、不修改配置参数DATE_FORMAT,特定语句指定转换格式如:

insert into test values(to_date(‘2024-12-16 11:27:03’, ‘yyyy-mm-dd hh24:mi:ss’));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值