【问题标题】:Select in Concat mysql在 Concat mysql 中选择
【发布时间】:2015-09-23 21:17:57
【问题描述】:

我正在尝试通过以下方式获取日期值: - 今年 - 这个月 - 一键选择天数

查询

SELECT rat_data FROM rate_unita WHERE rateid = 1 

结果是一个 INT 值。

当我尝试执行以下操作时:

SELECT DATE(CONCAT(YEAR(NOW())),(MONTH(NOW())), (SELECT rat_data FROM rate_unita WHERE rateid = 1))

Mysql 在 ' ( MONTH( NOW( ) ) ) , ( SELECT rat_data FROM rate_unita WHERE r 附近标记我的语法不正确

我认为我在 CONCAT 中调用 SELECT 的方式有问题,达到我的目标的正确查询是什么?

谢谢 升

【问题讨论】:

    标签: mysql sql date datetime string-concatenation


    【解决方案1】:

    您过早地关闭了 concat 函数。去掉一些多余的括号

    SELECT DATE(CONCAT(YEAR(NOW()),
      MONTH(NOW()),
      (SELECT rat_data FROM rate_unita WHERE rateid = 1)
    ))
    

    但您需要添加一些连字符以使其成为真正的日期值

    SELECT DATE(
      CONCAT(
        YEAR(NOW()),
        '-',
        MONTH(NOW()),
        '-',
        (SELECT rat_data FROM rate_unita WHERE rateid = 1)
      )
    )
    

    这应该导致日期为YEAR-MONTH-rat_data

    这是一个有效的SQL Fiddle

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 除了链接到外部站点,您还应该展示如何做他想做的事情。仅链接的答案不受欢迎。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2015-03-23
      • 1970-01-01
      相关资源
      最近更新 更多