我在MySQL中有一个表。什么是sql语句看起来像在表中的当前日期值添加2天?
UPDATE classes
SET
date = date + 1
where id = 161
这增加了一秒的值,我不想更新时间,我想再加两天?
答案 0 :(得分:80)
假设您的字段是date
类型(或类似):
SELECT DATE_ADD(`your_field_name`, INTERVAL 2 DAY)
FROM `table_name`;
根据您提供的示例,它可能如下所示:
UPDATE classes
SET `date` = DATE_ADD(`date` , INTERVAL 2 DAY)
WHERE `id` = 161;
此方法也适用于datetime
。
答案 1 :(得分:7)
UPDATE table SET nameofdatefield = ADDDATE(nameofdatefield, 2) WHERE ...
答案 2 :(得分:4)
此查询适用于获取当前日期与其后3个日期之间的值
SELECT * FROM tableName
WHERE columName BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 3 DAY)
这最终会在当前日期增加3天的缓冲区。
答案 3 :(得分:2)
update tablename set coldate=DATE_ADD(coldate, INTERVAL 2 DAY)
答案 4 :(得分:1)
根据您的需要:
UPDATE classes
SET `date` = DATE_ADD(`date`, INTERVAL 2 DAY)
WHERE id = 161
答案 5 :(得分:1)
SELECT DATE_ADD(CURDATE(), INTERVAL 2 DAY)
答案 6 :(得分:1)
DATE_ADD(FROM_DATE_HERE, INTERVAL INTERVAL_TIME_HERE DAY)
调整INTERVAL 后,将给出日期
例如
DATE_ADD(NOW(), INTERVAL -1 DAY) for deducting 1 DAY from current Day
DATE_ADD(NOW(), INTERVAL 2 DAY) for adding 2 Days
您可以使用
UPDATE classes WHERE date=(DATE_ADD(date, INTERVAL 1 DAY)) WHERE id=161
答案 7 :(得分:0)
SET date = DATE_ADD( fieldname, INTERVAL 2 DAY )
答案 8 :(得分:0)
您可以离开date_add函数。
UPDATE `table`
SET `yourdatefield` = `yourdatefield` + INTERVAL 2 DAY
WHERE ...
答案 9 :(得分:0)
SQL> select f_test(1) from dual;
F_TEST(1)
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
DEPTNO ENAME JOB SAL HIREDATE
---------- ---------- --------- ---------- ----------
20 SMITH CLERK 800 17.12.1980
30 ALLEN SALESMAN 1600 20.02.1981
30 WARD SALESMAN 1250 22.02.1981
20 JONES MANAGER 2975 02.04.1981
30 MARTIN SALESMAN 1250 28.09.1981
30 BLAKE MANAGER 2850 01.05.1981
<snip>
14 rows selected.
SQL> select f_test(2) from dual;
F_TEST(2)
--------------------
CURSOR STATEMENT : 1
CURSOR STATEMENT : 1
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL>