× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Yes it is cool...however, it's not generally a good idea.

By using a function on the file field in the WHERE clause, you force
the system to do a full table scan at worst or a full index scan at
best. Thus you lose most of the benefits of having an index.

In this scenario, it doesn't matter so much as you want to compare
numeric dates between two files. However for example, say you were
doing this:

select * from ech
where numtodate(hord) + 30 days < CURRENT_DATE

You're much better off doing it this way
select * from ech
where hord < datetonum(CURRENT_DATE - 30 days)

HTH,
Charles




On Mon, Nov 8, 2010 at 12:05 PM, Gqcy <gmufasa01@xxxxxxxxx> wrote:
Thanks all ,

I'm testing that right now:
here is what I have:

With tmpfile as (
SELECT ech.hord,
numtodate(polog.poendt) as day_entered,
numtodate(ech.hedte) as day_ordered
FROM xyzlib/pologpf AS polog
JOIN xyzlib/ech AS ech
     ON polog.pokord = ech.hord
)
Select count(*) from tmpfile
where days(day_entered) + 30 < days(day_ordered)


THIS IS SOOOO COOL!








On 11/8/2010 10:55 AM, Luis Rodriguez wrote:
Gerald,

That's right. Nevertheless, check Michael's suggestion about using a CTE. I
think it should be more efficient (as well as easier to code and maintain).

Best Regards,

Luis Rodriguez
IBM Certified Systems Expert — eServer i5 iSeries
--



On Mon, Nov 8, 2010 at 12:14 PM, Gqcy<gmufasa01@xxxxxxxxx>  wrote:

Thanks for the answers...
So, If I add my UDF to this discussion, I need to call it multiple
times, as shown:

SELECT
numtodate(polog.poendt) as day_entered,
numtodate(ech.hedte) as day_ordered
FROM xyzlib/pologpf AS polog
LEFT JOIN xyzlib/ech AS ech
      ON polog.pokord = ech.hord
where DAYS(numtodate(polog.poendt))+3>   DAYS(numtodate(ech.hedte))



On 11/8/2010 10:31 AM, Dennis Lovelady wrote:
Sorry, Lloyd, but that's kind of like answering a "why is the sky blue"
question by saying that the sky color contains no red or yellow.  The
answer
of WHY is that the SELECT list is evaluated last, so there is no way for
the
WHERE clause to be aware of the SELECT list's rename.

Dennis Lovelady
http://www.linkedin.com/in/dennislovelady
--
"Few things are harder to put up with than the annoyance of a good
example."
          -- Mark Twain


Generally, you cannot use aliased names (day_entered) in the WHERE
clause.
You need to use polog.poendt instead.

--Loyd

On Mon, Nov 8, 2010 at 10:02 AM, Gqcy<gmufasa01@xxxxxxxxx>   wrote:

SELECT
polog.poendt as day_entered,
ech.hedte as day_ordered
FROM xyzlib/pologpf AS polog
JOIN xyzlib/ech AS ech
      ON polog.pokord = ech.hord
where day_entered>   day_ordered

Column DAY_ENTERED not in specified tables.


Is this just part of SQL, or am I missing something???

These are dates, and I have created a UDF to convert numeric
to Date(not shown in above example), but I can't use the renamed
fields...

thanks

Gerald

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.