Mysql Select 日期时间,大于时间戳
Mysql Select datetime, greater than timestamp
我正在尝试向我的 SELECT 添加 WHERE 子句以从我的 table 中获取日期,其中 table 中的日期时间大于传入的时间戳。
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
替换为 space,' '
不是空字符串,''
.
所以下面的查询应该按预期工作:
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 中看到了缺失的 space。
我正在尝试向我的 SELECT 添加 WHERE 子句以从我的 table 中获取日期,其中 table 中的日期时间大于传入的时间戳。
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
替换为 space,' '
不是空字符串,''
.
所以下面的查询应该按预期工作:
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 中看到了缺失的 space。