使用db2中的DATE_ADD到mysql

时间:2018-03-21 13:02:04

标签: mysql db2

在我的php脚本中,我有以下查询:

SELECT 
     inv as INVOICE,
     shpdate as SHIPDATE
  FROM table1
    WHERE to_date(char(shpdate), 'YYYYMMDD') >= '2018-01-01'

成功返回记录。这是一个打包值并返回它以匹配YYYY-MM-DD格式。

我正在尝试添加一个间隔并插入到mysql中,如下所示:

INSERT INTO table (column1)
    values(DATE_ADD(DATE_FORMAT(CONVERT(:SHIPDATE, CHAR(20)), '%Y-%m-%d'),INTERVAL 127 DAY) as expire_date)

但是当我运行它时它说它不是一个有效的功能。我知道查询成功,但插入失败,很可能是因为我没有正确使用DATE-ADD。

非常感谢有关如何更改此插入语法的任何帮助。

3 个答案:

答案 0 :(得分:0)

您还可以将日期添加到DATE值,例如SELECT shpdate + 127 DAYS as SHIPDATE FROM table1。 此外,您可以过滤日期列,如WHERE shpdate >= '2018-01-01'。 两者都假设shpdate的数据类型为DATE

答案 1 :(得分:0)

同样DATE_ADD不是Db2中的函数。如果您不想使用ADD_DAYS()语法,可能需要查看+ n DAYS。请参阅手册https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.sql.ref.doc/doc/r0061468.html

答案 2 :(得分:0)

如果SHIPDATE是一个字符串变量,其格式为' YYYY-MM-DD' table(column1)的数据类型是DATE,然后尝试:

INSERT INTO table (column1)
values(date_add(convert(:shipdate,date), interval 127 day));