在我的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。
非常感谢有关如何更改此插入语法的任何帮助。
答案 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));