gpt4 book ai didi

mysql - UNIX_TIMESTAMP() 比较

转载 作者:行者123 更新时间:2023-11-29 05:25:39 27 4
gpt4 key购买 nike

大家好,我有一个关于 UNIX_TIMESTAMP() 的问题:当我用它来检查另一个 UNIX_TIMESTAMP() 时,我从来没有得到我期望的结果.

这里以一个小查询为例:

SELECT
UNIX_TIMESTAMP(STR_TO_DATE(mydate, '%Y%m%d')) as Date1,
UNIX_TIMESTAMP(STR_TO_DATE(mydate2, '%Y%m%d')) as Date2
FROM
my_table
WHERE
(UNIX_TIMESTAMP() BETWEEN Date1 and Date2 )

Date11387062000 作为值,Date21389740400,除非我们在 2014 年 1 月之后UNIX_TIMESTAMP() 的结果介于 2 个值之间。

当我应该从表中获取至少 1 行时,它仍然没有给我任何结果;我尝试在将日期提供给 UNIX_TIMESTAMP() 之前格式化日期,但每次尝试都失败了。

可能真的很愚蠢,但我已经为此苦苦思索了 2 个多小时而没有得到任何结果。

有人知道错误出在哪里吗?

谢谢。

最佳答案

您的自定义别名未被 WHERE 子句过滤,您需要使用 HAVING 子句

SELECT
UNIX_TIMESTAMP(STR_TO_DATE(mydate, '%Y%m%d')) as Date1,
UNIX_TIMESTAMP(STR_TO_DATE(mydate2, '%Y%m%d')) as Date2
FROM
my_table
HAVING
(UNIX_TIMESTAMP() BETWEEN Date1 and Date2 )

SELECT
UNIX_TIMESTAMP(STR_TO_DATE(mydate, '%Y%m%d')) as Date1,
UNIX_TIMESTAMP(STR_TO_DATE(mydate2, '%Y%m%d')) as Date2
FROM
my_table
WHERE
(UNIX_TIMESTAMP() BETWEEN UNIX_TIMESTAMP(STR_TO_DATE(mydate, '%Y%m%d'))
and
UNIX_TIMESTAMP(STR_TO_DATE(mydate2, '%Y%m%d')))

关于mysql - UNIX_TIMESTAMP() 比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20642626/

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