MySQL - 更改日期时间的函数

标签 mysql datetime

我有一列 permission_to 的日期时间类型为:2016-12-31 00:00:00 我想将此值更改为:2016-12-31 23:59:59。我不需要更新行,因为我需要原始值,但我想在查询中使用修改后的值来与另一列进行比较,如下所示:

SELECT
  d.id_machine
  IF(
    d.permission_from < '2016-01-01 00:00:00',
    '2016-01-01 00:00:00',
    d.permission_from
  ) AS date_from,

  IF(
    '(HERE I NEED FUNCTION TO CHANGE DATETIME FROM 2016-12-31 00:00:00 TO 2016-12-31 23:59:59) > 2016-02-02 23:59:59',
    '2016-02-02',
    (AGAIN THE SAME FUCTION)
  ) AS date_to
FROM tbl_decision AS d

有没有MySQL函数可以在不更新的情况下修改datetime中的时间?

最佳答案

当我们处理'结束日期'时,我们通常使用后一天,然后我们使用'小于'操作来与这个日期进行比较。

示例:我们使用 2017-01-01 而不是 2016-12-31 当我们使用 < 时,我们将 2016 年带到最后一刻。

SELECT
  d.id_machine
  IF(
    d.permission_from < '2016-01-01 00:00:00',
    '2016-01-01 00:00:00',
    d.permission_from
  ) AS date_from,

  IF(
    DATE_ADD(d.permission_to,INTERVAL 1 DAY) > 2016-02-02 23:59:59',
    '2016-02-02',
    DATE_ADD(d.permission_to,INTERVAL 1 DAY)
  ) AS date_to
FROM tbl_decision AS d

关于MySQL - 更改日期时间的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35741678/

相关文章:

php fopen() 使用 Symfony/Component/Process 类在同一进程中创建的文件没有这样的文件或目录

php - 使用数据库查找根据输入更新表单类

mysql - 在数据库中实现版本系统

python - 有条件地替换日期时间 - python

c# - 月日年错误

mysql - 查询错误MySQL

php - 在 php 中格式化一个 Word

python - 从 dtype ('O' ) 转换为 datetime 的问题

mysql - 我可以将 'varchar' 列转换为 'datetime' 类型吗

mysql - Zend_Db_Expr ('NOW()' )和 Mysql 中的日期时间