×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) 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-2026 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.