|
|
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Несколко корявая тема, но всёже... Немного предистории(типа вводные данные): Имеется таблица транзакций(проводок), каждая запись ессно имеет поле datetime(когда зделано) и понятное дело в этом пространсте есть дыры (выходные, праздики...). НО для определенного рода расчетов необходимо иметь НЕПРЕРЫВНЫЙ интервал с начала до сегодня. Напрашивается решение-функция возвращающая его родимого. Проблема определить в теле функции сегодняшнее число. GetDate()- ф-ция Nondeterministic и посему в UDF не катит. Обращаюсь с огромной просьбой - подскажите приемлимое решение. На базе этого чегото (решения) необходимо будет построить view с перечнем дат. P.S. Os W2K Server + SQL2K ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2002, 22:01:22 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Слушай, а ты не думал что можно значение GETDATE() передавать параметром. Я так и делаю если мне нужно в UDF значение даты СЕЙЧАС(). Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2002, 23:06:59 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Да конечно один из вариантов. Что-то подобное я и накропал, только что-то не клеится с передачей параметра. Предупреждаю сразу - в MSSQL не силен поэтому могу соорудить ахинею Фунция такова Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Интересует как должен выглядеть SELECT... Когда пытаюсь изобразить нечто вроде Код: plaintext В ответ получаю Server: Msg 170, Level 15, State 1, Line 1 Line 1: Incorrect syntax near '('. Если вместо GetDate() влепить дату в чистом виде то шпиляет. Весь фокус в том и состоит, что я должен получить в конечном итоге view при опросе которого в любой момент там УЖЕ БЫЛА текущая дата. Не буду же я этот view редактировать каждую полночь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 00:19:44 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
незнаю насколько это поможет, но вот такой вариант обхода недетерминированности с датой создаём такой вид: Код: plaintext далее пишем функцию, которая возвращает как раз текущую дату: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Естественно функцию можно развить. Кстати только щас до меня дошло, что таким образом можно осуществить вековую мечту народов и написать скалярную функцию, которая возвращает случайное число ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:01:35 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Гениально!!!!!!!!!!!!! Действительно, работает!!! Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:12:39 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
SergSuper!!!! Моя давно подавленная мечта о дате в функции реализовалась :-) Спасибище! :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:37:43 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Дааа, просто здорово !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 10:52:08 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
ОГРОМАДНЕЙШЕЕ СПАСИБИЩЕ !!!! Все работает аж шуба заворачивается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2002, 15:46:07 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
Прошу прощения за ложку дегдя :) А оптимизатор на этом не сдохнет? Не зря же те правила понапридумываны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 15:04:51 |
|
||
|
GetDate() в UDF
|
|||
|---|---|---|---|
|
#18+
2Min В данном случае оптимизатор поднимет руки и сделает простой перебор. Но альтернатива этому - цикл с курсором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2002, 15:59:27 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3384&tid=1819097]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 316ms |

| 0 / 0 |
