4

列内の可能な顧客番号を検索するPL/SQL Oracle プロシージャを作成しています。顧客番号は7 桁の長さで、任意の数の文字をプレフィックスまたはサフィックスとして付けることができます。ただし、一部の値には 7 桁を超える数字が含まれており、これらの場合は無視したいと思います。したがって、"A/C 1234567" と "Cust1234567B"は顧客番号1234567の一致を返すはずですが、" 01234567 " と " 123456789 " は一致しません。

私は使用して\d{7}いますが、これはすべての例で一致を返しているため、に似たものを探しています(?<!\d)\d{7}(?!\d)が、否定的な先読みと後読みはサポートされていません。助言がありますか?

4

2 に答える 2

6

利用可能なlookahedおよびlookbehindアサーションがなければ、試すことができます

(^|\D)\d{7}(\D|$)

http://sqlfiddle.com/#!4/d41d8/12114/0

于 2013-06-10T04:43:59.460 に答える