Попробуйте использовать этот параметр
SELECT CONVERT_TZ(FEILD_A,'GMT','IST');
изменить IST на ваш часовой пояс
FEILD_A должен быть дата или метка времени.
Ссылка: https: / /dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_convert-tz
ORDER BY
может быть произвольным выражением, поэтому вы можете переместить IF
в сам запрос (но вместо этого как выражение CASE
):
select * from alerts
ORDER BY (CASE WHEN @AreaNumber IS NULL THEN '-' ELSE IsPermanent END) ASC,
DateModified DESC,
DateCreated DESC
У меня нет Экземпляр SQL Server удобен для проверки на причуды, но, по сути, «-» подразумевает фиктивную подставку. Он будет иметь одинаковое значение для всех строк, поэтому не будет влиять на сортировку.