MySQL не распознает am
и pm
по умолчанию, он анализирует время в 24-часовом формате. Вам нужно использовать STR_TO_DATE()
, если вы хотите проанализировать пользовательский формат даты и времени.
Кроме того, вам нужно сначала указать более позднее время.
SELECT HOUR(TIMEDIFF(STR_TO_DATE('2020-06-17 01:15:00am', '%Y-%m-%d %r'),
STR_TO_DATE('2020-06-17 12:15:00am', '%Y-%m-%d %r'))) as 'diff'