gpt4 book ai didi

mysql - 将长文本转换为日期时间以在 WordPress(MySQL 数据库)中使用

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

我正在开发一个 WordPress 网站,我需要某种日历功能,以便在侧边栏中显示即将发生的事件。为此,我向自定义帖子类型添加了一个元字段(日期)。我想做的是通过 sql (MySQL) 获取即将发生的事件。

我知道您可以将日期时间与某些函数(例如 CUR_DATE() 和 NOW())进行比较,但问题是,由于我的数据存储为元字段,它具有长文本类型而不是日期时间类型,使得无法将我的数据与上述功能进行比较和选择。我尝试使用 CONVERT,但这会引发语法错误。我知道如何解决这个问题吗?

下面您可以找到引发语法错误的 sql。如果我省略其中包含 CONVERT 的语句,我会得到结果。顺便说一句,我的日期格式为 d-m-Y。

SELECT p.ID FROM tt_posts p
INNER JOIN tt_postmeta pm
ON p.ID = pm.post_id

WHERE
p.post_type = "activity" AND
p.post_status = "publish" AND
pm.meta_key = "date" AND
CONVERT(DATETIME, pm.meta_value) >= NOW()

ORDER BY pm.meta_value ASC

最佳答案

你的长文本日期应该是一个unix时间戳,而wordpress是一个php应用程序,所以只需这样做:

$timestamp = 1465731381;
$dateObject = date('d.m.Y h:i:s', $timestamp);

这将为您提供一个格式如下的日期对象:

12.06.2016 11:36:21

引用php manual - date更多格式选项。

Afaik mysql 还具有将任何日期对象(例如 date.now())转换为 unix 时间戳的功能:UNIX_TIMESTAMP()

更多信息:mysql manual - date and time functions

希望对您有所帮助。

关于mysql - 将长文本转换为日期时间以在 WordPress(MySQL 数据库)中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37773549/

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