Гарантируется ли сложение или вычитание из DATETIME числа дней? - PullRequest
0 голосов
/ 05 июля 2018

Я просматривал некоторые старые хранимые процедуры, которые у нас были, и столкнулся с чем-то, что, хотя я знаю, что это работает, заставило меня задуматься о том, насколько я могу предположить, что это будет работать.

Код вычитает семь дней из текущей даты и делает это так:

Select GetDate() - 7

Теперь, прежде чем я задам этот вопрос, я хочу быть совершенно ясным: да, я полностью понимаю, что правильный способ сделать это будет следующим:

Select DateAdd(Day, -7, GetDate())

Это, однако, не мой вопрос.

У меня вопрос: можно ли с уверенностью предположить, что (во всех случаях) при добавлении или вычитании числового значения из типа DATETIME он будет всегда добавить? или удалить в несколько дней?

Будет GetDate() - 7 всегда удалить семь дней ?

Может ли когда-либо быть способом, через любой возможный сценарий (конфигурации, регион, сопоставление, гремлины, что угодно ...), что выполнение GetDate() - 7 приведет к некоторому другому компоненту даты (например, * 1030) *, Minute, Microsecond и т. Д.) Вычитается вместо Day с?

1 Ответ

0 голосов
/ 05 июля 2018

Да, это гарантировано. Поведение оператора - между датой и целым числом хорошо определено и не будет изменяться при любой конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...