如何将表格中的日期转换为2013-02-27 00:00:00,以便我可以将它与ORDER BY一起使用?
问题描述:
所以,我想在我的查询中添加ORDER BY
,但它不起作用,因为日期字段的格式为2013-02-27 00:00:00
。我该如何转换它以便我可以在ORDER BY
中使用它?这里是我的查询:如何将表格中的日期转换为2013-02-27 00:00:00,以便我可以将它与ORDER BY一起使用?
$sql = "SELECT * FROM $wpdb->posts";
$sql .= " INNER JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id";
$sql .= " WHERE $wpdb->posts.post_type = 'task'";
$sql .= " AND $wpdb->postmeta.post_id IN (SELECT `post_id` FROM $wpdb->postmeta WHERE $wpdb->postmeta.meta_key = '_completed' AND $wpdb->postmeta.meta_value = '0')";
$sql .= " AND $wpdb->postmeta.post_id IN (SELECT `post_id` FROM $wpdb->postmeta WHERE $wpdb->postmeta.meta_key = '_assigned' AND $wpdb->postmeta.meta_value = '%s')";
$sql .= " GROUP BY $wpdb->postmeta.post_id";
$sql .= " ORDER BY $wpdb->postmeta._due ASC";
$tasks = $wpdb->get_results(sprintf($sql, $user_id));
领域的问题是,在表wp_postmeta
_due
。这是为Wordpress,但因为这是一个MYSQL问题,我想我会问这里。谢谢!
这正是你想要的日期排序格式。你在问这个问题有什么不管用? – 2013-02-20 23:42:17
@John Conde它不工作,因为它无法识别该字段中的格式?我不知道,但如果我用'ORDER BY'来使用这个字段,它就不起作用。 – adredx 2013-02-20 23:44:39
你的'$ wpdb-> XXX'变量被替换为'$ sql'吗?你不需要在他们周围放置{}吗? – Barmar 2013-02-20 23:58:56