|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Работа с сервером SQL через MSS Microsoft SQL Server Есть DW c полем DateTime и Retrieve аргумент типа Date Поле DateTime=Date Все прекрасно работает пока DateTime имеет вид 16-06-2009 00:00:00 А как сделать чтобы работало если поле DateTime имеет вид 16-06-2009 17:11:00 мне нужны все документы за одну дату, независимо от времени ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2009, 15:14 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
KhodikiРабота с сервером SQL через MSS Microsoft SQL Server Есть DW c полем DateTime и Retrieve аргумент типа Date Поле DateTime=Date Все прекрасно работает пока DateTime имеет вид 16-06-2009 00:00:00 А как сделать чтобы работало если поле DateTime имеет вид 16-06-2009 17:11:00 мне нужны все документы за одну дату, независимо от времени в запросе пишите такой фильтр: Код: plaintext
вместо ":arg + 1" подставьте операцию прибавления дня к дате в вашей СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2009, 15:20 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Anatoly Moskovsky, Спасибо помогло только dt >= :arg and dt < Dateadd(day,1,:arg) а 1 просто прибавлять отказывался, хотя прибавление 1 к DATE на PB 7 у меня работало счас PB 9 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2009, 15:42 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Khodiki dt >= :arg and dt < Dateadd(day,1,:arg) а 1 просто прибавлять отказывался, хотя прибавление 1 к DATE на PB 7 у меня работало счас PB 9 Это зависит от СУБД а не от PB. Например в Oracle дата + число поддерживается. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2009, 15:49 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
А не проще в WHERE конвертирование указать Примерно так... Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 09:39 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Я абсолютно согласен с dvvarna - в условиях выборки должны сравниваться одинаковые типы данных, только dvvarnaWHERE CONVERT( DATE , поле_в_datetime) = аргумент_в_dateтип Date отсутствует в Microsoft SQL Server 2000, но появился в более поздних версиях. Так, что смотря какая версия Microsoft SQL Server у Khodiki. В случае Microsoft SQL Server 2000 ( если arg имеет тип DateTime ) : Я предпочитаю тот же "фильтр", что предлагает Anatoly Moskovsky, но можно использовать и функцию DATEDIFF Код: plaintext
Код: plaintext
Good Luck ! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 10:56 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
dvvarnaА не проще в WHERE конвертирование указать Примерно так... Код: plaintext
Если вам наплевать на производительность - может и проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 12:40 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Anatoly MoskovskydvvarnaА не проще в WHERE конвертирование указать Примерно так... Код: plaintext
Если вам наплевать на производительность - может и проще. И что удивительно, в некоторых случаях MS SQL сможет использовать индекс с DATEDIFF. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 13:08 |
|
Поле DateTime в DW и Retrieve
|
|||
---|---|---|---|
#18+
Локшин Марк Если вам наплевать на производительность - может и проще. И что удивительно, в некоторых случаях MS SQL сможет использовать индекс с DATEDIFF.[/quot] Сервер конечно возможно и справится с конкретной этой оптимизацией, но если и в других местах повтыкать ему палки в колеса, то конечный результат может получиться плачевным, потому что не все оптимизации можно провести одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2009, 18:09 |
|
|
start [/forum/topic.php?fid=15&gotonew=1&tid=1336240]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
339ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 273ms |
total: | 719ms |
0 / 0 |