Размышление из коробки, заимствуя другую вавилонскую метрику:
mysql> SELECT TIME_FORMAT("%H°%i'%s", SEC_TO_TIME(ROUND(3600 * -1.234)));
+-------------------------------------------------------------+
| TIME_FORMAT("%H°%i'%s", SEC_TO_TIME(ROUND(3600 * -1.234))) |
+-------------------------------------------------------------+
| -01:14:02 |
+-------------------------------------------------------------+
mysql> SELECT TIME_FORMAT("%H°%i'%s", SEC_TO_TIME(ROUND(3600 * -123.77)));
+--------------------------------------------------------------+
| TIME_FORMAT("%H°%i'%s", SEC_TO_TIME(ROUND(3600 * -123.77))) |
+--------------------------------------------------------------+
| -123:46:12 |
+--------------------------------------------------------------+
(ROUND
должен избегать получения 3 десятичных знаков в ответе.)