× 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.



here is my UDF code.
My dates return as "MM/DD/YY".
What Do I need to put in to have them return as ISO ("YYYY-MM-DD")?


CREATE FUNCTION XYZLIB/NUMTODATE (INNUM DEC(8))
RETURNS DATE
LANGUAGE SQL
CONTAINS SQL
EXTERNAL ACTION
DETERMINISTIC
BEGIN
DECLARE RTDATE DATE;
SET RTDATE = Date(Substr(Digits(INNUM), 1, 4) concat '-' concat
Substr(Digits(INNUM), 5, 2) concat '-' concat
Substr(Digits(INNUM), 7, 2)) ;
RETURN RTDATE;
END

Thanks so much...

On 11/8/2010 11:41 AM, Birgitta Hauser wrote:
Instead of converting a date into the number of days since 0001-01-01, you
can add 30 Days directly.

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 day_entered + 30 Days< day_ordered

Mit freundlichen Grüßen / Best regards

Birgitta Hauser

"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"


-----Ursprüngliche Nachricht-----
Von: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] Im Auftrag von Gqcy
Gesendet: Monday, 08. November 2010 18:05
An: midrange-l@xxxxxxxxxxxx
Betreff: Re: SQL question - why doesn't WHERE clause know about renamed
fields?

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.





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.