mysqlupdatetimestampdiff报错

mysqlupdatetimestampdiff报错,第1张

mysqlupdatetimestampdiff报错是由于版本问题引起的。解决方法是:

1、升级你的mysql版本,升级到最新版本即可解决问题。

2、如果不想升级,那么此时需要创建一个触发器,通过触发器在插入之前获取当前时间,然后返回给createtim。

TO_DAYS(date字段1) - TO_DAYS(date字段2)

1、利用TO_DAYS函数

select to_days(now()) - to_days('19930908')

2、利用DATEDIFF函数

select datediff(now(),'19930908')

参数1 - 参数2 等于间隔天数

在 MySQL 中创建表时,对照上面的表格,选择到合适自己的数据类型。选择datetime 还是 timestamp会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。

扩展资料:

在ORDER BY *** 作中,MySQL 只有在排序条件不是一个查询条件表达式的情况下才使用索引。(虽然如此,在涉及多个数据表查询里,即使有索引可用,那些索引在加快 ORDER BY 方面也没什么作用)。

如果某个数据列里包含许多重复的值,就算为它建立了索引也不会有很好的效果。比如说,如果某个数据列里包含的净是些诸如 “0/1” 或 “Y/N” 等值,就没有必要为它创建一个索引。

参考资料来源:百度百科-mySQL

结论:一个标准的SQL查询语句

前提:假设起始时间:start_at,结束时间:end_at

现在根据不同的字段类型说明如何写。

1 - INT类型,存储时间戳

SELECT * FROM table_name WHERE ( end_at - start_at ) >3600

2 - DATETIME类型

假如 start_at 格式类似于 “2020-10-01 12:13:14”。那么使用函数进行求差值:

SELECT * FROM table_name WHERE TIMESTAMPDIFF(SECOND, start_at, end_at) >3600

以上。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8563040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存