在输入日期MySQL

时间:2017-02-10 20:03:10

标签: mysql database function date

假设我的输入日期为“2017-01-31”或“2017-02-28”。我想获取此输入日期并使SQL将其更改为“2017-01-01”或“2017-02-01”。

有没有办法通过查询中的MySQL函数来做到这一点?

2 个答案:

答案 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')