|
|
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
объясните мне следующее поведение dateadd select dateadd(qq,-1,dateadd(qq,1,'19990331')) получаем 1999-03-30 00:00:00.000 вместе 1999-03-31 00:00:00.000 ps: блин, полдня сегодян убил, пытаясь понять в чем дело :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 14:55:34 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
Это из-за того, что квартал - нечеткое понятие. Нет строгого определения "квартал". Поэтому минус квартал и плюс квартал могут различаться в один-два дня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:15:58 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
я все-таки надеялся на адекватное поведение... хотя, наверное, вы правы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:25:25 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
А это так и задумано у MS, так что Вы с dateadd() поосторожнее, постоянный источник недоразумений. 2 Dankov И вовсе не только с кварталами: select dateadd(mm,-1,dateadd(mm,1,'30-01-2001')) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:25:58 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
"месяц" - тоже нечеткое понятие. Это сколько дней - 30, 31 или 28? Поэтому и проблема такая же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:28:18 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
2 Dankov Именно это и имелось в виду. А интуитивно человек считает, что X+N-N равно X, поэтому и надо быть поаккуратнее с dateadd(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 15:38:48 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за разъяснения... Но, блин, эмоции через край ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 16:00:20 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
Если надо разбираться с кварталами, то попробуйте использовать советы из FAQ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2002, 11:02:31 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
угу, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 08:30:46 |
|
||
|
некорректная работа dateadd?
|
|||
|---|---|---|---|
|
#18+
А я не вижу ничего странного. Он же сначала делает dateadd(qq,1,'19990331') и получает 19990630 (31 июня же не бывает). Потом от этой даты отнимает квартал - естественно получается 19990331. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2002, 13:03:21 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1818380]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 346ms |

| 0 / 0 |
