簡體   English   中英

MySQL-按字符串日期排序

[英]MySQL - order by string date

我有一個加入到我的帖子中的元值,即日期。 我希望只能獲取將來的帖子,但是此日期是varchar,格式為

dd-mm-yyyy

這是我到目前為止嘗試過的,但似乎無法正常工作

select `posts`.*, `storage_varchars`.`meta_value`

from `posts` left join `storage_varchars` on 
       `posts`.`id` = `storage_varchars`.`post_id` 
where `parent_id` = 20 and 
         DATE(storage_varchars.meta_value) >= NOW() 
order by DATE(storage_varchars.meta_value) asc

使用STR_TO_DATE()函數:

嘗試這個:

SELECT p.*, s.meta_value
FROM posts p 
LEFT JOIN storage_varchars s ON p.id = s.post_id 
WHERE parent_id = 20 AND STR_TO_DATE(s.meta_value, '%d-%m-%Y') >= CURRENT_DATE() 
ORDER BY STR_TO_DATE(s.meta_value, '%d-%m-%Y') ASC;

嘗試這個

select `posts`.*, `storage_varchars`.`meta_value`

from `posts` left join `storage_varchars` on 
       `posts`.`id` = `storage_varchars`.`post_id` 
where `parent_id` = 20 and 
         STR_TO_DATE(storage_varchars.meta_value, '%d %M %Y') >= NOW() 
order by STR_TO_DATE(storage_varchars.meta_value, '%d %M %Y') DESC

STR_TO_DATE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM