来自db2 query

时间:2018-02-28 14:35:45

标签: mysql sql db2

我试图申请' curdate()' DB2的select语句的功能。我已经习惯了MySQL,但我仍然试图掌握很多DB2功能,以及如何将这两者完全结合起来。

除一行外,我的查询已完成。我试图根据发货日期选择,即EXTD1H列,我需要在今天检查它或curdate()。问题是DB2中的列是整数格式,而不是日期格式,我没有选择更改它。在之前的mysql插入中,我已经能够将它放入Ymd格式,我知道我可以使用LEFT(EXTD1H,4)修剪年份,但我不知道如何修改我的选择以便我可以说{ {1}}以便我只选择此日期的记录。

以下是查询:

WHERE EXTD1H is today

正如您所看到的,我有一个注释,我的问题是。我确信它很简单我似乎无法在文档中找到我正在寻找的内容,这是能够使用该INT列来验证所选记录是从今天开始的。

更新:

该列的所有值均为YYYYMMDD格式,即 select invnoz as ORDER, fstatz as STATUS from gportafl /*where EXTD1H is curdate, hypothetically*/ AND FSTATZ <> 'S' limit 20; 但它应该是20180202

1 个答案:

答案 0 :(得分:3)

最好不对列进行操作,因此使用索引。 您可以按如下方式对当前日期进行类型转换以适合您的数据:

WHERE extd1h = INTEGER(VARCHAR_FORMAT(CURRENT DATE,'YYYYMMDD'))