mysql - SQL order by convert -
i have problem ordering query converting longtext (b.meta_value) datetime. getting error 1064. format in database mm/dd/yyyy , i tried order by, keep getting error 1064. problem?:
convert(convert(b.meta_value,char(30)),datetime, 101) convert(datetime, convert(b.meta_value,varchar(30)), 101) convert(datetime, str_to_date(b.meta_value, '%m/%d/%y'), 101) here query:
select d.name name, b.post_id post_id, b.meta_value meta_value wp_posts inner join wp_postmeta b on a.id=b.post_id inner join wp_term_relationships c on c.object_id=b.post_id inner join wp_terms d on c.term_taxonomy_id=d.term_id meta_key in('px_event_from_date') , a.post_type='events' , a.post_status!='trash' , d.term_id = 104 , str_to_date(b.meta_value, '%m/%d/%y') <= curdate() order convert(datetime, str_to_date(b.meta_value, '%m/%d/%y')) desc limit 0,1
you should set meta_key filter in join meta_key = 'my_date' (because don't know meta key trying catch):
select d.name name, b.post_id post_id, b.meta_value meta_value wp_posts inner join ( select post_id, meta_value wp_postmeta meta_key = 'my_date' ) b on a.id=b.post_id , str_to_date(b.meta_value, '%m/%d/%y') <= curdate() inner join wp_term_relationships c on c.object_id=b.post_id inner join wp_terms d on c.term_taxonomy_id=d.term_id meta_key in('px_event_from_date') , a.post_type='events' , a.post_status!='trash' , d.term_id = 104 order str_to_date(b.meta_value, '%m/%d/%y') desc limit 0,1
Comments
Post a Comment