Solved

How to have report pull data for current date

Posted on 2008-10-30
7
681 Views
Last Modified: 2013-12-19
How do you set a report to pull data from current date (today) with out entering todays date?
SELECT so_.zone_code,so_.cust_ship_to_id,
               floor(substr(so_.end_time, 1, 2) / 8) end_time_shift, -- first 2 characters = hour
count(so_.end_time)
       FROM csi.so_pick_detail so_
   WHERE (so_.end_date = @variable ('Date'))
          
           
GROUP BY so_.zone_code,  so_.cust_ship_to_id,
                 floor(substr(so_.end_time, 1, 2) / 8)

Open in new window

0
Comment
Question by:Jbancr1
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
7 Comments
 
LVL 27

Expert Comment

by:sujith80
ID: 22847893
You can use sysdate to get the current date.
See.
select sysdate from dual;

You may try the below suggestion. I have used a trunc function around the column to make sure that the time components are clipped. L
See whether this does for you.
SELECT so_.zone_code,so_.cust_ship_to_id,
               floor(substr(so_.end_time, 1, 2) / 8) end_time_shift, -- first 2 characters = hour
count(so_.end_time)
FROM csi.so_pick_detail so_
WHERE (trunc(so_.end_date) = trunc(sysdate) )
GROUP BY so_.zone_code,  so_.cust_ship_to_id,
                 floor(substr(so_.end_time, 1, 2) / 8)

Open in new window

0
 

Author Comment

by:Jbancr1
ID: 22848949
sujith80
I get an error message when I run the code you provided.
ORA-01003:  No statment parsed:-1003
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 22849467
I recommend doing something like this instead of trunc on your end_date column,
if you have indexes on on the end_time column, writing the query like above will
prevent the use of those indexes, as illustrated below can use indexes.

sujith80's statement looks to be correct syntax though, did you miss a character in a cut-n-paste or something small like that?

  SELECT so_.zone_code,
         so_.cust_ship_to_id,
         FLOOR(SUBSTR(so_.end_time, 1, 2) / 8) end_time_shift,       
         COUNT(so_.end_time)
    FROM csi.so_pick_detail so_
   WHERE so_.end_date >= TRUNC(SYSDATE) AND so_.end_date < TRUNC(SYSDATE + 1)
GROUP BY so_.zone_code, so_.cust_ship_to_id, FLOOR(SUBSTR(so_.end_time, 1, 2) / 8)

Open in new window

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Jbancr1
ID: 22849628
sdstuber

I get a different error message this time.

ORA-01861: literal does not match format string:-1861
0
 
LVL 74

Expert Comment

by:sdstuber
ID: 22849678
you must not be storing dates as dates.

what is end_date?  A string?  what is the format of it?

0
 

Author Comment

by:Jbancr1
ID: 22850303
FORMAT FOR END_DATE IS YYYY,MM,DD
0
 
LVL 74

Accepted Solution

by:
sdstuber earned 250 total points
ID: 22851057
I highly recommend you store dates as dates,

but, given your current setup,  try this...
  SELECT so_.zone_code,
         so_.cust_ship_to_id,
         FLOOR(SUBSTR(so_.end_time, 1, 2) / 8) end_time_shift,
         COUNT(so_.end_time)
    FROM csi.so_pick_detail so_
   WHERE so_.end_date = TO_DATE(SYSDATE, 'yyyy,mm,dd')
GROUP BY so_.zone_code, so_.cust_ship_to_id, FLOOR(SUBSTR(so_.end_time, 1, 2) / 8)

Open in new window

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
This video shows how to copy a database user from one database to another user DBMS_METADATA.  It also shows how to copy a user's permissions and discusses password hash differences between Oracle 10g and 11g.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question