在网址http://sqlfiddle.com/#!2/f6cc7/3中,它具有以下架构:
CREATE TABLE apsent
(`day_id` int, `apssent_date` date);
INSERT INTO apsent
(`day_id`, `apssent_date`)
VALUES
(1, '2013-09-26'),
(2, '2013-09-27')
;
我想知道如何将其apssent_date更新为15天的日期子结构?我正在使用Informix DB。
答案 0 :(得分:2)
USE DATE_SUB()
功能,如下所示:
UPDATE `apsent` SET apssent_date = DATE_SUB(apssent_date, INTERVAL 15 DAY)
答案 1 :(得分:2)
在Informix中它是
UPDATE apsent SET apssent_date = apssent_date -interval(15) day to day
在Mysql中它是
UPDATE apsent SET apssent_date = DATE_SUB(apssent_date,INTERVAL 15 DAY);
答案 2 :(得分:2)
这是我在Informix上的测试,用dbaccess运行语句。
Obs.Informix不支持问题中使用的插入语法。
$ DBDATE=y4md- dbaccess -e -a mydb x.sql
Database selected.
CREATE temp TABLE apsent
(day_id int, apssent_date date);
Temporary table created.
INSERT INTO apsent (day_id, apssent_date) VALUES (1, '2013-09-26');
1 row(s) inserted.
INSERT INTO apsent (day_id, apssent_date) VALUES (2, '2013-09-27');
1 row(s) inserted.
INSERT INTO apsent (day_id, apssent_date) VALUES (2, '2013-01-01');
1 row(s) inserted.
select * , apssent_date - 15 units day from apsent ;
day_id apssent_date (expression)
1 2013-09-26 2013-09-11
2 2013-09-27 2013-09-12
2 2013-01-01 2012-12-17
3 row(s) retrieved.
update apsent set apssent_date = apssent_date - 15 units day ;
3 row(s) updated.
select * from apsent ;
day_id apssent_date
1 2013-09-11
2 2013-09-12
2 2012-12-17
3 row(s) retrieved.
Database closed.
答案 3 :(得分:1)
在Informix中:
更新不满意 SET apssent_date = apssent_date - 15