mysql - 将 x 天添加到 DATE 字段,其中 x 是另一列

标签 mysql sql time mysql-error-1064

<分区>

我有一个表,其中有一个 DATE 列,以及一个 int 修饰符列。我想以某种方式能够将 x 天添加到 DATE 列,其中 x 是修饰符的值。

是这样的:

SELECT t.dateField, DATE_ADD(t.dateField, t.dateModifierValue)
FROM fooTable t

但是,这显然是一个无效的 SQL 查询。 这是我想要实现的目标:

+------------+-----------+-----------------+
| DateField  |  Modifier | Expected result |
+------------+-----------+-----------------+
| 2013-05-11 |     7     |    2013-05-18   |
| 2013-01-01 |     1     |    2013-01-02   |
+------------+-----------+-----------------+

当然,这可以使用多个查询来完成,让另一种语言构建查询——但这样做有什么乐趣呢?

最佳答案

SELECT t.dateField, DATE_ADD(t.dateField, INTERVAL t.dateModifierValue DAY) FROM fooTable t;

关于mysql - 将 x 天添加到 DATE 字段,其中 x 是另一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16502061/

相关文章:

MySql 组合(嵌套)查询和使用 Join 方式的查询比单独查询慢

MySQL inner join 3个表

postgresql - 如何检查某个事件时间是否在 PostgreSQL 的时间范围内?

Php 数组到长文本与数据库中的新行

mysql - 使用哪个连接 - mysql

mysql - 当前日期和日期字段之间的天数

php - 简单的 PHP 不填充页面

sql - rails : View ActiveRecord's resulting query

node.js - 如何为 Heroku 设置时区

go - 为什么与 == 相比,具有相同日期和时间的 2 个时间结构返回 false?