sql - 使用 postgres 将 Excel 日期格式转换为常规日期

标签 sql excel postgresql date date-arithmetic

我将 csv 文件加载到 DBeaver postgres 数据库中,日期表示为 5 位数字。 (41827、35267、39444 等)
我知道这些在 Excel 中被格式化为自 1900 年 1 月 1 日以来的天数。我可以在编辑器中编写查询以将它们转换为 mm/dd/yyyy 吗?

我尝试使用 SELECT/INTERVAL/CAST 类型的函数,但无法完全弄清楚语法。

示例:架构:配置文件,
表:account_transactions,
列名:date_activated,
单元格值:41827(varchar)

最佳答案

Excel 日期表示自 1899 年 12 月 30 日以来的天数(嗯,大约 - 早年不准确)。

在 Postgres 中,你可以这样做:

date '1899-12-30' + myexceldate::int * interval '1' day

在哪里 myexceldate是保存 excel 编号的文本列的名称。

关于sql - 使用 postgres 将 Excel 日期格式转换为常规日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60818243/

相关文章:

SQL 2008 数学在 WHERE 子句中失败

vba - 通过宏保存到 Excel 中的多个位置

php - mysql、sqlite 和 pgsql 之间的语法差异

sql - 从 information_schema 中查找 PostgreSQL 中未知表的特定列中的值

mysql - 舍入时间戳列以使其涵盖更大的时间段

sql - 使用 ms Access 中的查询从表中选择并插入到另一个表的不同类型的列

java - java中从多个表检索数据时的最佳设计原则

c# - 快速生成 Excel

excel - 根据列值拆分 CSV 文件的最简单方法

postgresql - Postgres "Materialized View"刷新为 ElasticSearch 文档更新的来源?