Формат применяется только при обработке данных как строк. Показанный код не делает этого! Он сравнивает их как даты, передавая параметры в их двоичном представлении. Таким образом, - это , никакой двусмысленности и никакого форматирования в любой точке.
В принципе, это не проблема. То, что вы спрашиваете, на самом деле очень похоже на выражение «как SQL-сервер упорядочивает целые числа как« 1,2, ..., 9,10,11 », а не« 1,10,11,2, ... 9 »- на что ответ «потому что он не рассматривает их как строки».
Чтобы быть точным, datetime на сервере sql фактически обрабатывается как десятичное число, где целая часть - это день, а десятичная часть - время; любой "дд / мм / гггг" или "гггг / мм / дд" и т. д. существует только для нас, бедных мясистых читателей. Сервер не смущается такими вещами.