来自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功能的主要内容,如果未能解决你的问题,请参考以下文章

DB2 中联合查询的重复数据删除

合并来自 2 个 jQuery 片段的功能

mysql查询昨天 一周前 一月前 一年前的数据

mysql 查询上周数据的where条件

sql查询月天数之和,函数相加

DB2 v8 for z/OS 中的交叉连接