MYSQL ORDER BY strtotime(column) ASC 可能吗?

MYSQL ORDER BY strtotime(column) ASC possible?

我有一个包含 varchars 的列,例如 2.7.2019 10:15-12:30。我现在想对这些日期的输出进行排序,但我需要将它们格式化为时间戳。我怎样才能在 ORDER BY 'column' 中做到这一点。 这是我目前的尝试:

mysqli_query($conn, "SELECT * FROM ".$kTable." WHERE class='".$class."' ORDER BY '.strtotime(.''datehours''.).' DESC"); 我知道 varchars 包含一系列时间戳,但出于排序目的,它可以完成这项工作。像 12.12.2018 10:00-12:15 这样的范围将是 12.12.2018 22:15 并且会像 10:10-12:15 (22:25)[ 这样的范围具有更高或更低的值=13=]

您可以使用 str_to_date() 将范围的第一部分转换为日期时间:

select . . .  -- whatever you want to select here
from t
order by str_to_date(substring_index(datehour, '-', 1), '%d.%m.%Y %H:%i')

或者您专栏的任何正确格式。