mysql - 如何在 mysql 中对 unixtimestamp 执行正确的选择
问题描述
我有带有 UNIX sql 时间戳的表,1615582447
如receivedOn
.
我不确定,如果有一些时间间隔,如何使用这个时间戳。
如何根据用户时区执行 sql 的正确方法是什么?
我当前的代码是(对于Europe/Prague
时区):
FROM_UNIXTIME(receivedOn) > ("2021-03-07T23:00:00.000Z") AND FROM_UNIXTIME(receivedOn) < ("2021-03-2021-03-08T22:59:59.999Z")
但是这个选择在区间之外返回数据。
什么是正确的方法或......更好?
解决方案
这不能以那种形式工作,因为你没有正确的 mysql 时间来比较它
SELECT FROM_UNIXTIME(1615582447 ) > CONVERT("2021-03-07T23:00:00.000Z", datETIME)
返回真或 1
您应该始终使用 mysql 符合日期和时间,在查询中使用,并让编程语言将其转换为正确的形式
推荐阅读
- file - 将计数添加到 terraform 模块
- c++11 - 不能在 static_assert 中使用 constexpr 函数
- python - test_idx 是什么意思?
- python - 用 pyaudio 录制麦克风
- java - .contains() 在java中找不到多行
- c# - 如何使第二个签名者依赖于第一个签名者的选择?条件标签和签名者
- reactjs - 轮询“useQuery”会导致 React 组件中不必要的重新渲染
- javascript - XML Parser 在 Firefox 中不可读
- oracle - DBeaver+Oracle:关闭IP到主机名解析
- python - Python Pandas 组合操作