Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как получить максимальное значение типа datetime  [new]
Гришков Максим
Member

Откуда: СПб
Сообщений: 324
Народ, подскажите пожалуйста, как можно получить максимальную дату. Понимаю, что она 31.12.9999 23:59:59, но желательно получить ее каким-нибудь способом кроме convert/cast.
20 май 11, 16:29    [10685806]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Glory
Member

Откуда:
Сообщений: 104751
Гришков Максим
Народ, подскажите пожалуйста, как можно получить максимальную дату. Понимаю, что она 31.12.9999 23:59:59, но желательно получить ее каким-нибудь способом кроме convert/cast.

Занесите ее в таблицу и читайте оттуда
20 май 11, 16:30    [10685814]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Гришков Максим,

что значит получить? если найти максимальные в таблице то max() если узнать максимальные возможности типа данных то в BOL поглядеть
20 май 11, 16:30    [10685816]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Константные даты в MSSQL задаются строкой, поэтому cast/convert все равно будет, явный или нет.
20 май 11, 16:31    [10685822]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Гришков Максим
Member

Откуда: СПб
Сообщений: 324
Ого, как быстро :).
Т.е. нет какой-нибудь системной функции, которая бы вернула datetime 31.12.9999 и т.п.? :(
Жаль...
Ладно, спасибо всем.
20 май 11, 16:33    [10685836]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Системной нет. Напишите свою.
20 май 11, 16:38    [10685865]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
Гришков Максим
Ого, как быстро :).
Т.е. нет какой-нибудь системной функции, которая бы вернула datetime 31.12.9999 и т.п.? :(
Жаль...
Ладно, спасибо всем.

есть функция isdate если поможет чем то
20 май 11, 16:43    [10685910]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Гришков Максим
Понимаю, что она 31.12.9999 23:59:59.

Это ошибочное предположение
20 май 11, 16:46    [10685928]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Гришков Максим
Member

Откуда: СПб
Сообщений: 324
Зайцев Фёдор,

Почему? Тут вот пишут:
Диапазон даты
1 января 1753 года — 31 декабря 9999 года
Диапазон времени
От 00:00:00 до 23:59:590,997

Что-то не так?
20 май 11, 17:07    [10686082]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Prolog
Member

Откуда: Москва
Сообщений: 2793
Гришков Максим, а чем не устраивает это?
declare @d datetime
select  @d = '99991231 23:59:59'
select  @d
20 май 11, 17:10    [10686105]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Гришков Максим
Member

Откуда: СПб
Сообщений: 324
Prolog,

Если не ошибаюсь тоже, что и convert/cast. Просто я боюсь, что из-за региональных настроек сервера может это все "накрыться тазом".
Может быть это мои предрассудки.
20 май 11, 17:19    [10686160]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Гришков Максим
Prolog,

Если не ошибаюсь тоже, что и convert/cast. Просто я боюсь, что из-за региональных настроек сервера может это все "накрыться тазом".
Может быть это мои предрассудки.

такой формат работает при любых настройках
20 май 11, 17:22    [10686185]     Ответить | Цитировать Сообщить модератору
 Re: Как получить максимальное значение типа datetime  [new]
Зайцев Фёдор
Member

Откуда: Лужки
Сообщений: 5308
Гришков Максим
Зайцев Фёдор,

Почему? Тут вот пишут:
Диапазон даты
1 января 1753 года — 31 декабря 9999 года
Диапазон времени
От 00:00:00 до 23:59:590,997

Что-то не так?


Вы удивитесь, возможно, но '99991231 23:59:59.997' - валидная дата, причём она больше, чем '99991231 23:59:59'.
М.б. я ошибаюсь, но мне всё-таки кажется, что если значение А меньше значения Б, то А не может считаться максимально возможным
20 май 11, 18:33    [10686639]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить