powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Глюк в работе DateDiff( ... )
8 сообщений из 8, страница 1 из 1
Глюк в работе DateDiff( ... )
    #33334755
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DateDiff( year, '1973-12-01', '2005-10-20' ) возвращает 32, хотя, по идее, должна вернуть 31. Ведь год относительно 1973-12-01 еще не завершен.
Поправьте если не прав.
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334767
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, забыл: ASA Version 9.0.2.3198
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334772
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно - что вы сказали серверу, то и получили
2005-1973=32
Кстати вот такой запрос
Код: plaintext
1.
select DateDiff( dd, '1973-12-01', '2005-10-20' ) / 365 
выдаст значение 31
просто все зависит от того, что нужно в итоге получить
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334782
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, забыл: ASA Version 9.0.2.3198
Тогда сорри - все вышесказанное относилось к ASE
Хотя возможно и чем то поможет
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334832
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB wrote:

> DateDiff( year, '1973-12-01', '2005-10-20' ) возвращает 32, хотя, по
> идее, должна вернуть 31. Ведь год относительно 1973-12-01 еще не завершен.

RTFM.

---------------------------------------------------------------
What's New in SQL Anywhere Studio
What's New in Version 6.0.3
Behavior changes in version 6.0.3

Adaptive Server Anywhere behavior changes

datediff, MONTHS, and YEARS functions The number of months between
two dates is now calculated as the number of first-of-the-months between
the dates. For example, the difference between January 25 and February 2
is 1; the difference between January 1 and January 31 is 0. The number
of years is now calculated as the number of first-of-the-years between
the dates.

This changes the results of these functions by one number, in some
cases. The change was made for compatibility with Adaptive Server
Enterprise.
---------------------------------------------------------------
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334834
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vooo wrote:

> Тогда сорри - все вышесказанное относилось к ASE

Неважно - оно теперь compatible :).
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334897
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Dimm2000
Хм. Я не думал, что к описанию ф-ции дополнительно надо изучать еще и все Behavior changes ...
Теперь буду знать ... :)
(Это не претензия)
...
Рейтинг: 0 / 0
Глюк в работе DateDiff( ... )
    #33334912
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulJB wrote:

> Хм. Я не думал, что к описанию ф-ции дополнительно надо изучать еще и
> все Behavior changes ...

Открою страшную тайну : я ничего не изучал, я сделал поиск по
DATEDIFF, ткнул в первый пункт из списка и, как выяснилось, угадал.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Глюк в работе DateDiff( ... )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]