-2

10gに取り組んでいます。

最初のダッシュ (-) の前にすべてを削除する正規表現を作成しようとしました。

ただし、構文が複雑になるとは予想していませんでした。

私はこれを持っています:

REGEXP_SUBSTR (myVal, '[^"]+')

これにより、最初の二重引用符の後のすべての値が削除され、次のようなデータが残ります。

10-3/4, 5-1/2, 7-5/8

二重引用符をダッシュ​​に変更し、ダッシュの後にカラットを置くとうまくいくと思いましたが、うまくいきませんでした。

4

2 に答える 2

0

でそれをしたい場合はREGEXP_SUBSTR、これを試してください:

SELECT REGEXP_SUBSTR(myValue, '\-.*$')
FROM myTable

しかし、SUBSTRLamak からの回答は効果的です。3 番目のSUBSTRパラメーターはデフォルトで文字列の長さに設定されるため、省略してもかまいません。

SELECT SUBSTR(myValue, INSTR(myValue, '-'))
FROM myTable
于 2013-08-09T20:53:23.807 に答える
0

それが必要なすべての場合REGEX、他のより単純な関数でそれを行うことができるので、を使用する必要はありません:

SELECT SUBSTRING(myVal,INSTR(myVal,'-'),LENGTH(myVal))
FROM YourTable
于 2013-08-09T20:43:41.353 に答える