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



Because almost all other files on the system are in dec(8,0) format as a date field we use.


But DATE( TIMESTAMP_FORMAT(DIGITS(dcodte), 'MMDDYYYY') ) is interesting. Can it be used for CYYMMDD 7,0 fields?

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of CRPence
Sent: Tuesday, August 30, 2011 11:03 AM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: Derived Index V6R1

On 30-Aug-2011 06:25 , Schutte, Michael D wrote:
Looking for a best solution for implementing and using derived index.
I have a table that has a date in it MMDDYYYY format. It's a large
historical file that we often fight with getting data from. I would
like to create this derived index with the date as YYYYMMDD...

create index mylib/r06_derived on mylib/sales
( company
, dec(substr(digits(dcodte),5,4) concat
substr(digits(dcodte),3,2) concat
substr(digits(dcodte),1,2), 8, 0) as dtyyymmdd
)

Not sure why the additional DEC casting would be desirable, since
that just makes the expression even more verbose.?

This creates just fine. My question is how to use it.

Personally I would hate to duplicate "company = ? and
dec(substr(digits(dcodte),5,4) concat
substr(digits(dcodte),3,2) concat
substr(digits(dcodte),1,2), 8, 0) between ? and ?"
in every SQL statement I write to use the derived index.

I could create a view over the physical file that does cast dcodte
to the format I want, then I can select from the view using the new
field. Ideally, I would be able to use a UDF (not supported).

The following expression(s) might be more succinct [¿and functional?]
alternatives. And the two expressions will have the benefit [or
difficulty] of requiring a date\time[stamp] data type for the predicate
instead of the decimal data type used in the quoted example:

TIMESTAMP_FORMAT(DIGITS(dcodte), 'MMDDYYYY')

DATE( TIMESTAMP_FORMAT(DIGITS(dcodte), 'MMDDYYYY') )

<<SNIP UDT ref\question>>

Regards, Chuck
--
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.

________________________________

Notice from Bob Evans Farms, Inc: This e-mail message, including any attachments, may contain confidential information that is intended only for the person or entity to which it is addressed. Any unauthorized review, use, disclosure or distribution is strictly prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message and any attachments.

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.