How can I sort SQL query results to list upcoming dates ascending and past dates descending?

Using WordPress ‘events’ posts with a start date meta, I need an SQL query that orders future events ascending and past events descending. Example revised SQL code:

SELECT e.event_title, m.start_date
FROM wp_posts AS e
JOIN wp_postmeta AS m ON e.ID = m.post_id
WHERE e.post_type = 'events'
  AND m.meta_key = 'startdate'
  AND e.post_status = 'publish'
ORDER BY CASE WHEN m.start_date > CURDATE() THEN 0 ELSE 1 END,
         CASE WHEN m.start_date > CURDATE() THEN m.start_date END ASC,
         CASE WHEN m.start_date <= CURDATE() THEN m.start_date END DESC
LIMIT 10;

hey i tried a similar query and it works awsomly for me, but got curious, are u using custom date formats? im wonderin if this approach adapts to timezone issues too. what ar u seeing with your current data?