当前位置: 首页 > 知识库问答 >
问题:

CSV文件的H2解析时间

漆雕唯
2023-03-14

我有一个需要使用CSVREAD导入的csv文件。问题是它以不同的方式具有日期时间格式,因此需要解析it.Can有人给我一个我应该如何做的例子吗?

我尝试:合并到消息(MESG_DATE_FROMMESG_DATE_TOMESG_DISPLAY_SEQMESG_TIME_DELAYMESG_IDREASONTYPE_MAJOR)选择*from CSVREAD('MESSAGE_0.csv');

这些查询是程序化的,因此不能手工制作。问题是,一些列是datetime类型,并且与H2中的列的datetime格式不同,在解析时,我无法精确确定哪些列将是datetime,因此我无法轻松放置PARSEDATETIME,CSV文件不包含任何列名或信息,只包含值。像这样:2011-11-18 00.00.00:00 2030-12-31 00.00-00,120000,1,0,…
。。。

将生成一个Sql文件以将此CSV加载到每个表中,但似乎我需要知道列是否为TIMESTAMP类型,以将PARSEDATETIME(MESG_DATE_FROM,'yyyy-mm-dd hh.mm.ss.uu')添加为MESG_DATE_FROM到sql。

在DB2中,我们可以使用timestampformat=YYYY-MM-DD HH。所以这是以表的默认方式完成的。H2有类似的地方吗?

共有1个答案

酆乐湛
2023-03-14

我认为你想要的是不可能的。没有办法在H2中更改“全局”时间戳格式(就像您在DB2中所做的那样)。

我想你也需要

  • 根据每个列的列类型构造查询,在适当的情况下使用<code>PARSEDATETIME
  • 修改CSV文件以使用与H2相同的时间戳格式,这是JDBC规范中在SQL转义序列下定义的格式:<code>yyyy-mm-dd hh:mm:ss[.f..],或
  • 为H2提供补丁以支持“全局”时间戳格式
 类似资料:
  • 在这段代码中,目标是解析一个CSV文件,并将其数据映射到一个bean对象。 文件中的列在原始数据下方有一个标题,有时还有其他信息(如字符串或整数单元格中的数字或单词)。 我在之前的问题中询问如何忽略这些附加信息,并得到了以下代码作为答案: 当我尝试实现此代码时,我在箭头标记的行处出现两个错误。 线程"main"中的异常java.lang.错误:未解决的编译问题: 列表类型中的方法 add(Coun

  • 样本数据- Header1,full_name,header3,header4 > 20,“Bob,XXX”,“Test”,30 20,“Evan”s,YYY“,”Test“,30 20,“Tom,ZZZ”,“Test”,30 第二行读起来不像预期的那样。因为full_name列值中有一个双引号。 我想忽略这类案件。任何建议都将不胜感激。 使用openCSV Java api进行解析。 编辑: 我

  • 问题内容: 应用启动时,我需要将数据预加载到tableView中。所以我通过解析.csv文件来使用核心数据。为此,我正在关注本教程。这是我的parseCSV函数 这是我的示例.csv文件 但我在这条线上出现错误 致命错误:数组索引超出范围 我究竟做错了什么 ?请帮我。 问题答案: 您正在尝试解析文件路径而不是文件内容。 如果您更换 与: 那么代码将适用于您的示例文件。

  • 问题内容: 使用nodejs,我想解析一个包含10000条记录的.csv文件,并对每一行进行一些操作。我尝试使用http://www.adaltas.com/projects/node- csv 。我无法让它在每一行暂停。这只会读取所有10000条记录。我需要执行以下操作: 逐行读取csv 在每条线上执行耗时的操作 转到下一行 有人可以在这里提出其他建议吗? 问题答案: 好像您需要使用一些基于流的

  • 使用nodejs,我想解析一个包含10000条记录的.csv文件,并对每一行执行一些操作。我尝试使用http://www.adaltas.com/projects/node-csv。我不能让它每排都停下来。这只是读取所有的10000个记录。我需要做到以下几点: 逐行读取csv 对每行执行耗时操作 转到下一行

  • 我有一个带有注释的csv文件,其值需要在两个ArrayList之间拆分。例如: 实现这一目标的最佳方式是什么?我是否应该使用一个计数器,每次状态从%变到某个值时递增,反之亦然,然后如果计数器% 2 = 0,那么添加一个新的ArrayList并开始写入它?这是我能想到的唯一办法,但似乎有点笨拙,还有人有更好的主意吗? 编辑:我已经写了实际解析csv值的代码,我不需要帮助,只是想知道如何将值分成两个列