SQL将字符串转换为where子句发布中的datetime

时间:2013-01-30 10:48:49

标签: sql where

我正在尝试从wordpress数据库中检索数据。 我在查询中找不到语法错误,有人可以帮我解决这个问题吗?

列出来自特定post_type的前10个帖子,并将其Events_Date字段转换为日期时间。

这是我的问题:

SELECT wp_posts.*, wp_postmeta.* 
FROM ritmica_wp.wp_posts, ritmica_wp.wp_postmeta
WHERE convert(datetime, wp_postmeta.meta_value, 120) > GetDate() 
IN
    (SELECT wp_posts.*, wp_postmeta.* FROM ritmica_wp.wp_posts, ritmica_wp.wp_postmeta 
    WHERE wp_posts.post_type = 'event' 
    AND wp_postmeta.meta_key = 'Events_Date' )

ORDER BY wp_postmeta.meta_value ASC LIMIT 10

1 个答案:

答案 0 :(得分:0)

我没有看到子查询的意义。你不能这样做:

SELECT TOP 10
    wp_posts.*, wp_postmeta.* 
FROM
    ritmica_wp.wp_posts, ritmica_wp.wp_postmeta
WHERE
    convert(datetime, wp_postmeta.meta_value, 120) > GetDate() 
    AND wp_posts.post_type = 'event' 
    AND wp_postmeta.meta_key = 'Events_Date'
ORDER BY
    wp_postmeta.meta_value ASC

(对于SQL Server)