来自db2查询的CURDATE功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自db2查询的CURDATE功能相关的知识,希望对你有一定的参考价值。
我正在尝试将'curdate()'功能应用于DB2的select语句。我已经习惯了mysql,但我仍然试图掌握很多DB2功能以及如何基本结合这两者。
我的查询完成,除了一行。我正在尝试根据发货日期进行选择,这是列EXTD1H
,我需要在今天检查它或curdate()。问题是DB2中的列是整数格式,而不是日期格式,我没有更改它的选项。在以前的mysql插入中,我已经能够将它放入Ymd格式,我知道我可以使用LEFT(EXTD1H,4)修剪年份,但我不知道如何修改我的选择以便我可以说WHERE EXTD1H is today
这样我只选择这个日期的记录。
这是查询:
select
invnoz as ORDER,
fstatz as STATUS
from gportafl
/*where EXTD1H is curdate, hypothetically*/
AND FSTATZ <> 'S'
limit 20;
正如您所看到的,我有一个注释行,我的问题是。我确信它很简单我似乎无法在文档中找到我正在寻找的内容,这是能够使用该INT列来验证所选记录是从今天开始的。
更新:
该列中的所有值都是YYYYMMDD格式,即20180202
但它应该是2018-02-02
答案
最好不要对列进行操作,因此使用索引。您可以对当前日期进行类型转换以适合您的数据,如下所示:
WHERE extd1h = INTEGER(VARCHAR_FORMAT(CURRENT DATE,'YYYYMMDD'))
以上是关于来自db2查询的CURDATE功能的主要内容,如果未能解决你的问题,请参考以下文章