首页 > 解决方案 > 如何在 SQL Vertica 中按日期列连接具有不同日期格式的表?

问题描述

我在 SQL 中有两个表

表格1:

date        col2
2020-10-25  2
2020-10-20  20

表2:

date        col1
25.10.2020  1
20.10.2020  10

如您所见,我有不同的日期格式。我的问题是如何在 Vertica SQL 中在每个表的日期列上加入这两个表?

只需按日期列 co 连接这两个表,例如,我需要具有 3 列的表:日期、col1、col2,如下所示:

结果:

date        col1  col2
2020-10-25  1     2
2020-10-20  10    20

标签: sqldatejoinformatvertica

解决方案


您的数据模型存在真正的问题。 dates 应该使用适当的日期/时间类型来存储,而不是字符串

您可以使用以下方法转换为 的日期join

select to_date(t1.date, 'YYYY-MM-DD'), t1.col1, t2.col2
from table1 t1 join
     table2 t2
     on to_date(t1.date, 'YYYY-MM-DD') = to_date(t2.date, 'DD.MM.YYYY')

推荐阅读