H2 数据库 CSVREAD 和日期转换

Posted

技术标签:

【中文标题】H2 数据库 CSVREAD 和日期转换【英文标题】:H2 database CSVREAD and date convert 【发布时间】:2019-08-29 08:21:05 【问题描述】:

一个 H2 数据库和leave 表。我尝试从 CSV 文件中插入记录:

INSERT INTO LEAVE (date,city,days,total) SELECT * FROM CSVREAD('C:\path\SAMPLE.csv',null);

错误是

无法解析“DATE”常量“29/06/2018”; SQL语句:

CSV 数据类似于:

date,city,days,total 30/06/2019,los angeles, 245.2, 34708.2 12/04/2019.san deigo, 234.1, 45708.4 02/05/2019,san francisco, 765.4, 56087.2

表架构类似于:

id,date,city,days,total 1,2019-06-30,los angeles, 245.2, 34708.2

如何在 yyyy-mm-dd 中包含 CONVERT 语句。

【问题讨论】:

可能是数据库需要;作为数据限制器。另一件事是,你的 csv 文件只包含三列,数据库有前面。 【参考方案1】:

工作:

INSERT INTO LEAVE (DATE,CITY) SELECT "AREA",parsedatetime("DATE",'d/M/y') FROM CSVREAD('C:\PATH\SAMPLE.csv',null);

【讨论】:

以上是关于H2 数据库 CSVREAD 和日期转换的主要内容,如果未能解决你的问题,请参考以下文章

H2 数据库。如何在sql中将日期转换为秒?

我们如何使用 H2 测试涉及日期到字符串转换的 SQL Server 代码?

将列数据 varchar 转换为 H2 数据库中的时间戳

转换日期:从年份和周数转换为日期时间

SQL将日期时间转换为日期名称

H2 数据库 - CSVREAD - 跳过将 csv 文件的标题行加载到数据库中