MySQL 添加、DATE_FORMAT 和 CONCAT_WS

标签 mysql sql date select

我正在构建以下查询,但遇到语法问题:

SELECT FORMAT(yrs_served * 365, 0) AS days_served,
ADDDATE(date_comm, INTERVAL days_served DAY(DATE_FORMAT(CONCAT_WS('-', yr_comm, mth_comm, day_comm), %Y-%m-%d) AS date_comm) AS left_office
FROM prime_minister JOIN ministry
;

可以看出,我首先尝试将 CONCAT_WS 三个值转换成一个日期,然后使用 DATE_FORMAT 将其格式化为日期,这样我就可以使用 ADDDATE 向该日期添加天数。

不对的地方请指教,谢谢!

最佳答案

您不能在定义的同一级别上使用 ALIAS

SELECT   FORMAT(yrs_served * 365, 0) AS days_served,
         ADDDATE(CONCAT_WS('-', yr_comm, mth_comm, day_comm), INTERVAL (yrs_served * 365) DAY) AS left_office
FROM     prime_minister JOIN ministry.....

如果你不想使用它,你只需将它包装在一个子查询中,例如

SELECT  days_served,
        ADDDATE(date_comm, INTERVAL days_served DAY) AS left_office
FROM
(
    SELECT  FORMAT(yrs_served * 365, 0) AS days_served,
            CONCAT_WS('-', yr_comm, mth_comm, day_comm) as date_comm
    FROM     prime_minister JOIN ministry.....
) s

关于MySQL 添加、DATE_FORMAT 和 CONCAT_WS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14544938/

相关文章:

sql - 如何将°& 转换为可读日期?

java - 关于单元测试和日期的首选方法是什么?

mysql - 自动连接现有Mysql数据库中的新表

mysql - Ruby on Rails 数据库接口(interface)

php - Laravel 和 phpMyAdmin - pdoexception 无法建立连接,因为目标机器主动拒绝它

mysql,查询两个链接表从第一个返回 id 的秒详细信息满足这个但不是这个条件

sql - 如何从 SQL 查询生成字母数字值?

sql - 数据库占用的空间比表的总和还要多

mysql - INNER JOIN 错误的 SUM 和 COUNT

ruby-on-rails - 在Rails 4中将当前时区中的Date转换为DateTime的最佳方法是什么?