0

PostgreSQL で SQL を使用して、位置を指定せずに文字列内の部分文字列を取得する必要があります。

私はこの方法で試しましたが、最後の数字「2」のみを表示しています

このように私は働きました 文字列は P1.B1.12 です

SELECT SUBSTRING(REGISTRATIONNO from '.(.)*') AS REGISTRATIONNO 
FROM SUBSCRIBER;

期待される結果は12- 2 番目以降のすべて.

4

3 に答える 3

1
select (regexp_split_to_array(registrationno, '\.'))[3]
from subscriber

これは、目的の値が常に3 番目の位置にあることを前提としていることに注意してください。そうでない場合、式は間違った値を返します。

SQLFiddle の例を次に示します: http://sqlfiddle.com/#!12/d41d8/1924

于 2013-10-12T11:33:36.537 に答える
0

多分あなたはこれを試すことができます:

SELECT SUBSTRING_INDEX(REGISTRATIONNO, '.', -1) AS REGISTRATIONNO 
FROM SUBSCRIBER;
于 2013-10-12T11:37:19.090 に答える