SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Select c ограничивающим интервалом по дате и времени



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Tue Jun 16, 2009 3:02 pm    Post subject: Select c ограничивающим интервалом по дате и времени Reply with quote

Привет!
В таблице есть поля даты и времени, допустим
table-zdate
table-ztime

на селекционном экране есть интервал
C_ДАТА С_ВРЕМЯ - ПО_ДАТА ПО_ВРЕМЯ

как написать select для выбора записей, попадающих в интервал?

Может какой-нибудь хитрый способ есть Smile
Back to top
View user's profile Send private message
YuriT
Участник
Участник



Joined: 03 Nov 2008
Posts: 35

PostPosted: Tue Jun 16, 2009 5:54 pm    Post subject: Reply with quote

Ничего особо хитрого не помню, но я бы делал так:
1) Выбираешь только по дате
2) Удаляешь по времени из получившейся внутренней таблицы

А вообще если это обычный селект-опшен что мешает сделать

Code:
SELECT *
FROM table
WHERE date IN so_date AND
      time IN so_time.
Back to top
View user's profile Send private message
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Tue Jun 16, 2009 8:11 pm    Post subject: Reply with quote

YuriT wrote:
Ничего особо хитрого не помню, но я бы делал так:
1) Выбираешь только по дате
2) Удаляешь по времени из получившейся внутренней таблицы


Хотел без абапа, чтобы лишних данных не получать.

YuriT wrote:

А вообще если это обычный селект-опшен что мешает сделать

Code:
SELECT *
FROM table
WHERE date IN so_date AND
      time IN so_time.



Так можно, если день С и ПО совпадает.
А если дни не совпадают, ограничение по времени нельзя накладывать.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Jun 17, 2009 12:44 am    Post subject: Reply with quote

Garik wrote:
Хотел без абапа, чтобы лишних данных не получать

Может еще и без SELECT? Smile
Можно конечно построить хитрый select типа
Code:
SELECT *
FROM table
WHERE ( zdate = date_in and ztime >= time_in )
  OR ( zdate > date_in AND zdate < date_out )
  OR ( zdate = date_out and ztime <= time_out )

но только будет ли это быстрее, чем выборка по датам и отсечение записей в LOOP Question

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Wed Jun 17, 2009 10:00 am    Post subject: Reply with quote

Удав wrote:
Code:
SELECT *
FROM table
WHERE ( zdate = date_in and ztime >= time_in )
  OR ( zdate > date_in AND zdate < date_out )
  OR ( zdate = date_out and ztime <= time_out )

но только будет ли это быстрее, чем выборка по датам и отсечение записей в LOOP Question


Изначально в коде и был такой селект, но практика показала его неправильную работу Sad
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Jun 17, 2009 4:18 pm    Post subject: Reply with quote

И в чем заключалась "неправильная работа"?
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Wed Jun 17, 2009 5:25 pm    Post subject: Reply with quote

Удав wrote:
И в чем заключалась "неправильная работа"?


Если даты C и ПО совпадают, условия со временем нужно объеденить в одно с AND. Иначе лишние данные попадают.
Back to top
View user's profile Send private message
mrand
Участник
Участник


Age: 48
Joined: 15 Apr 2008
Posts: 10
Location: москва

PostPosted: Thu Jun 18, 2009 10:43 am    Post subject: Reply with quote

Code:
( zdate > date_in  OR ( zdate = date_in  AND ztime >= time_in ) )
AND
( zdate < date_out OR ( zdate = date_out AND ztime <= time_out ) )
Back to top
View user's profile Send private message Blog
Garik
Специалист
Специалист



Joined: 11 Oct 2007
Posts: 60

PostPosted: Thu Jun 18, 2009 4:51 pm    Post subject: Reply with quote

mrand, cпасибо, работает!!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.