【问题标题】:How to add another column's integer value to a date column?如何将另一列的整数值添加到日期列?
【发布时间】:2015-12-23 15:51:19
【问题描述】:

我正在尝试将整数添加到日期,但出现以下错误:

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 6 行的 '(wp.OrderDate, INTERVAL WPProduct.Duration DAY) AS ExpiryDate FROM wp' 附近使用正确的语法

SELECT 
wp.customers_id, 
wp.OrderDate, 
wp.products_id,
WPProduct.Duration,
DATE_ADD (wp.OrderDate, INTERVAL WPProduct.Duration DAY) AS ExpiryDate
FROM wp 
INNER JOIN WPProduct ON WPProduct.products_id = wp.products_id
WHERE wp.customers_id = 2

【问题讨论】:

  • 发布你的表的结构
  • WPProduce.Duration 是否允许为空?它可能不喜欢向日期添加空值的可能性
  • 如果不存在则创建表 wp (user varchar(32) NOT NULL default '', customers_id int(11) NOT NULL, OrderDate datetime NOT NULL, products_id int(11) NOT NULL, 主键 (user), 唯一键 customers_id (customers_id) ENGINE=MyISAM 默认字符集=latin1;

标签: mysql


【解决方案1】:

删除 DATE_ADD 之后的空格:

SELECT 
wp.customers_id, 
wp.OrderDate, 
wp.products_id,
WPProduct.Duration,
DATE_ADD(wp.OrderDate, INTERVAL WPProduct.Duration DAY) AS ExpiryDate
FROM wp 
INNER JOIN WPProduct ON WPProduct.products_id = wp.products_id
WHERE wp.customers_id = 2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    相关资源
    最近更新 更多