【问题标题】:Data mismatch while copy to * CSV file复制到 * CSV 文件时数据不匹配
【发布时间】:2016-08-13 00:17:56
【问题描述】:

运行 sql 查询以将内容导出到 CSV 文件我注意到某些列没有正确显示。在我的投射日期时间戳未正确显示在单元格中

代码如下:

  COPY  (select hostname as "Host Name",devicetype as "Device Type",platform as "Model",Ipaddress as "IP Address",swversion as "Software Version",configuredTime as "Configured",activeTime as "Active",cluster as "Clusters",location as "Location",macaddress as "Mac Address",devicepool as "Device Pool" from (select getmodelinfo.ipaddress,max(getmodelinfo.hostname) as
            hostname, max(getmodelinfo.macaddress) as macaddress,
            max(getmodelinfo.devicetype) as devicetype,
            max(getmodelinfo.platform) as platform,
            max(getmodelinfo.swversion) as swversion, min(getmodelinfo.day_end_date) as configuredtime,
            max(getmodelinfo.active_end_date) as activetime,
            max(getmodelinfo.ucmclustername)
            as cluster, max(getmodelinfo.ucmlocation) as location,
            max(getmodelinfo.ucmdevicepool) as devicepool from (select
            pcwh_inv.uniquedeviceid,pcwh_inv.ipaddress,
            pcwh_inv.endpointmodel, pcwh_inv.hostname, pcwh_inv.devicetype, pcwh_inv.platform,
            pcwh_inv.macaddress, pcwh_inv.version as
            swversion,pcwh_inv.deployed_day_end_date as day_end_date,
            pcwh_inv.lastupdated_day_end_date as active_end_date,
            pcwh_inv.ucmclustername,pcwh_inv.ucmlocation,pcwh_inv.ucmdevicepool
            from pcwh_inventory_20160410 pcwh_inv,
            (select pcwh_inv.uniquedeviceid, max(pcwh_inv.lastupdated_day_end_date) as
            lasttime from pcwh_inventory_20160410 pcwh_inv where pcwh_inv.ipaddress
            notnull group by
            pcwh_inv.uniquedeviceid)gettime where pcwh_inv.endpointmodel = 'SX' and
            pcwh_inv.uniquedeviceid = gettime.uniquedeviceid and
            pcwh_inv.lastupdated_day_end_date = gettime.lasttime and  pcwh_inv.mgmtstatus not in ('Deleted')
                )getmodelinfo group by ipaddress) M) TO '/opt/emms/emsam/export/raj2.csv' DELIMITER ',' CSV HEADER 

请在下面找到我在运行查询而不导出到 csv 时得到的结果截图

在我看来,格式化 csv 文件存在问题,能否请您告诉我如何从查询级别执行此操作以显示 db 列中的确切内容?

【问题讨论】:

  • 如果您在记事本等而不是 Excel 中打开 CSV,您会在该列中看到什么?
  • 我看到了应该阅读的全部内容@William

标签: java sql database postgresql csv


【解决方案1】:

我相信您的代码没有任何问题,但 Excel 将该列视为日期以外的其他内容,这种情况经常发生。可以通过选择所有受影响的单元格,右键单击并通过后续菜单将格式更改为文本来解决。

如果这个 CSV 将被另一个应用程序进一步操作,我认为你不会有问题,因为数据看起来很好。

如果出于某种原因您需要它在 Excel 中动态正确显示,您可能需要查看类似这样的内容..Java - Excel Cell Type

【讨论】:

    【解决方案2】:

    问题是直截了当的,CSV 格式没有错误。实际上,您所做的数据输入方式错误,您不能在数据输入中留有空间,这会导致问题。 因此,在第 6 列和第 7 列中,您可以看到数据条目之间存在空格,因此发生了哪个问题。 为了防止这种情况,只需为日期添加一个新列。 它将解决所有问题,并将数据输入到您的数据库中。

    【讨论】:

    • 问题是我只是按原样从数据库中提取数据并显示我无法控制数据库如何存储数据。虽然当我点击它时我没有看到单元格中的确切值我如下图 3 所示,查看完整数据
    • 是的,但请记住数据输入中的一件事,您只能输入一个元素,不能在同一列下添加多个内容
    猜你喜欢
    • 2016-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多