mysql - 返回到输入日期 MySQL 的月初

标签 mysql database function date

<分区>

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

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

最佳答案

有几种方法可以做到这一点。我的偏好是使用 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 

(对于第二种形式,日期值需要提供两次。对于第一种形式,我们只需要提供一次值。我认为第一种形式对于 future 的读者来说更容易理解......非常清楚作者的意图。)

关于mysql - 返回到输入日期 MySQL 的月初,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42167758/

相关文章:

mysql - 是否可以在 mysql 查询中创建和使用 "virtual"表?

php - 将多个参数传递给 PHP 中的方法

mysql - SELECT 一个表的一行,以及另一个表中的所有行

PHP - 如何检查当前日期/时间是否在两个工作日之间,包括时间(从 - 到)

mysqldump --lock-all-tables

c# - 在多个项目中使用 SQL 数据库

database - 编辑包含特定字符的行

c++ - 计算两个数组中匹配元素的个数 C++

在C中将两个函数连接成一个

php - 通过 PHP 连接到使用 cpanel 创建的 MySQL 数据库