powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поле DateTime в DW и Retrieve
9 сообщений из 9, страница 1 из 1
Поле DateTime в DW и Retrieve
    #36043802
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
мне нужны все документы за одну дату, независимо от времени
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36043827
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
dt >= :arg and dt < :arg +  1 

вместо ":arg + 1" подставьте операцию прибавления дня к дате в вашей СУБД.
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36043891
Khodiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,
Спасибо помогло только
dt >= :arg and dt < Dateadd(day,1,:arg)
а 1 просто прибавлять отказывался, хотя прибавление 1 к DATE на PB 7 у меня работало
счас PB 9
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36043907
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Khodiki
dt >= :arg and dt < Dateadd(day,1,:arg)
а 1 просто прибавлять отказывался, хотя прибавление 1 к DATE на PB 7 у меня работало
счас PB 9
Это зависит от СУБД а не от PB.
Например в Oracle дата + число поддерживается.
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36045094
dvvarna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не проще в WHERE конвертирование указать
Примерно так...
Код: plaintext
WHERE CONVERT(DATE, поле_в_datetime) = аргумент_в_date
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36045333
Фотография ChV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я абсолютно согласен с 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
where DATEDIFF ( dd , dt , :arg )  =  0 
В более поздних версия Microsoft SQL Server( если arg имеет тип Date )
Код: plaintext
where Convert ( Date , dt  )  = :arg

Good Luck !
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36045740
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dvvarnaА не проще в WHERE конвертирование указать
Примерно так...
Код: plaintext
WHERE CONVERT(DATE, поле_в_datetime) = аргумент_в_date

Если вам наплевать на производительность - может и проще.
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36045836
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly MoskovskydvvarnaА не проще в WHERE конвертирование указать
Примерно так...
Код: plaintext
WHERE CONVERT(DATE, поле_в_datetime) = аргумент_в_date

Если вам наплевать на производительность - может и проще.
И что удивительно, в некоторых случаях MS SQL сможет использовать индекс с DATEDIFF.
...
Рейтинг: 0 / 0
Поле DateTime в DW и Retrieve
    #36046780
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк
Если вам наплевать на производительность - может и проще.
И что удивительно, в некоторых случаях MS SQL сможет использовать индекс с DATEDIFF.[/quot]
Сервер конечно возможно и справится с конкретной этой оптимизацией, но если и в других местах повтыкать ему палки в колеса, то конечный результат может получиться плачевным, потому что не все оптимизации можно провести одновременно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Поле DateTime в DW и Retrieve
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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