DB2选择不同的日期格式



我的问题是,在一个古老的数据库中,有两个表需要根据日期查询匹配的行。只有一个表中的日期表示为YYYYMM作为小数(6(,而另一个表则表示为YYYY-MM-DD作为日期。

我怎样把这两张桌子连在一起?

我非常乐意在任何一天或第01天进行搜索。

您可以使用TO_CHARVARCHAR_FORMAT将该日期格式化为YYYYMM,然后将两个表连接在一起。

假设表A在col1中有日期字段,而表B在col2中有十进制(6(字段,它看起来是这样的:

select *
from A
join B on dec(varchar_format(a.col1, 'YYYYMM'),6,0) = b.col2

您可以对这两个表执行联接。假设第一个以十进制(6(形式存储日期的表是第col1列中的A,另一个表是第col2列中存储日期的B

SELECT * FROM A, B
WHERE INT(A.col1) = INT(SUBSTR(B.col2,1,4)|| SUBSTR(B.col2,6,2)) 

最新更新