假设我的输入日期为“2017-01-31”或“2017-02-28”。我想获取此输入日期并使SQL将其更改为“2017-01-01”或“2017-02-01”。
有没有办法通过查询中的MySQL函数来做到这一点?
答案 0 :(得分:1)
有几种方法可以做到这一点。我的偏好是使用DATE_FORMAT将日期部分替换为常量01
。
SELECT DATE_FORMAT('2017-01-31','%Y-%m-01') + INTERVAL 0 DAY AS dt
有很多方法可以给那只猫上皮。
例如,我们可以减去整数天减去1 ...
SELECT '2017-01-31' + INTERVAL 1-DAY('2017-01-31') DAY
(使用第二种形式,日期值需要提供两次。首先,我们只需要提供一次值。我认为第一种形式更容易让未来的读者理解......非常清楚作者的意图。)
答案 1 :(得分:0)
使用您的日期而不是我的示例:
SELECT CONCAT_WS('-',YEAR('2017-01-28'),MONTH('2017-01-28'),'01')