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



Thanks Tim.  If I'd just read the manual...

It also says "A character string with the FOR BIT DATA attribute or a binary string is not supported."

I have no idea what a pattern of \x40 (or any other single-byte value) would find in a UTF-16 DBCLOB.  Clearly not useful for my purpose.

On 8/16/2021 1:44 AM, Tim Fathers wrote:
According to the SQL manual, the source string and pattern string are both cast to UTF-16:

"source-string
An expression that specifies the string in which the search is to take place. The
expression must return a value that is a built-in character string, graphic string,
numeric, or datetime data type. If the value is not a UTF-16 DBCLOB, it is
implicitly cast to a UTF-16 DBCLOB before searching for the regular expression
pattern."

Also, according to this https://www.regular-expressions.info/charclass.html "Hyphens at other positions in character classes where they can’t form a range may be interpreted as literals or as errors. Regex flavors are quite inconsistent about this."

Tim.





________________________________
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> on behalf of Arnie Flangehead <arnie.flangehead@xxxxxxxxx>
Sent: 16 August 2021 08:05
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: REGEXP_INSTR range

I think because the source-string being submitted for evaluation is in
ASCII hex instead of EBCDIC hex.

So, tell it '-' and it sees 2d not 60, and 2d is in the range 00 to 3f.

The manual should warn about it, but in a way it makes sense - I presume
they didn't write a regex processor from scratch but rather "ported" (if
that's the word) one they had from their non-EBCDIC products.

Question is: Can some setting change that behavior? I have no idea.

On Mon, Aug 16, 2021 at 6:50 PM Peter Dow <petercdow@xxxxxxxxx> wrote:

Thanks for pointing that out John! I guess I can't count :(

So they're both wrong! Why is REGEXP_INSTR finding a hyphen in the
range x'00' - x'3F' when a hyphen (in EBCDIC) is x'60'?



On 8/15/2021 5:56 PM, John Yeung wrote:
On Sun, Aug 15, 2021 at 6:33 PM Peter Dow <petercdow@xxxxxxxxx> wrote:
values regexp_instr('abcdef-ghijk' || x'3f', '[\x00-\x3f]') returns 7,
which is what I expected.

values regexp_instr('- - - - - - - - - - -', '[\x00-\x3F]') returns 1,
which is NOT what I expected.
Why did you expect to find the hyphen in the first example but not in
the second?

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

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

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

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


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.