gpt4 book ai didi

Mysql 选择日期时间,大于时间戳

转载 作者:行者123 更新时间:2023-11-29 01:56:22 27 4
gpt4 key购买 nike

我正在尝试向我的 SELECT 添加 WHERE 子句以从我的表中获取日期,其中表中的日期时间大于传入的时间戳。

SELECT * FROM record WHERE UNIX_TIMESTAMP(REPLACE(date_value, 'T', '')) >= 1388552400;

这是一个数据样本

+--------+------------------------------+
| id | date_value |
+--------+------------------------------+
| 344380 | 2014-12-01T00:00:00 |
| 344381 | 2014-12-23T00:00:00 |
| 344382 | 2014-12-16T00:00:00 |
| 344383 | 2014-12-24T00:00:00 |
| 344384 | 2014-12-17T00:00:00 |
+--------+------------------------------+

我已经尝试了一些方法,但要么得到一个空集,要么得到错误日期时间的警告。

最佳答案

您需要将date_values 中的T 替换为空格,' ' 不是空字符串,''.

所以下面的查询应该按预期工作:

SELECT * FROM record WHERE UNIX_TIMESTAMP(REPLACE(date_value, 'T', ' ')) >= 1388552400;

为了调试您的原始查询,我运行了以下命令:

SELECT id, UNIX_TIMESTAMP(REPLACE(date_value, 'T', '')) FROM record;

返回的时间戳全为0。

然后我跟着:

SELECT id, REPLACE(date_value, 'T', '') FROM record;

我在哪里可以看到您的 date_value 中缺少的空间。

http://sqlfiddle.com/#!2/a184f/6

关于Mysql 选择日期时间,大于时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27771630/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com