文字列の終わりに応じて選択 - sql、oracle、oracle11g

私のDBには、次のようなさまざまなバージョン番号が格納されています。

OBJNAME
Fix_6.0.0a.1
Fix_6.0.0a.2

私は最後のバージョンの要素(最後の要素の後ろの数字 . キャラクター。どのようにしてこのようなSQL文を書くのですか?

私はそれが次のようなものだと思う:

  SELECT SUBSTR(INSTR(OBJNAME, ".", -1)) as LAST_VERSION, OBJNAME
FROM MY_TABLE
ORDER BY LAST_VERSION

しかし、正確な構文は何ですか?

回答:

回答№1は1

正しいバージョンは

select TO_NUMBER(SUBSTR(OBJNAME,INSTR(OBJNAME,".",-1)+1,LENGTH(OBJNAME))) as LAST_VERSION, OBJNAME from MY_TABLE order by LAST_VERSION

回答№2の場合は0

私はあなたが使用しているSQLソフトウェアを知っていませんが、substrとinstrのパラメータを調べる必要があります。あなたの場合は、3つのパラメータをinstrに、1つのパラメータをsubstrに渡しています。 substrは通常より多くを必要とします。いくつかの空白を挿入して、特にsubstr ....のLAST_VERSIONとして、文の概要を取得してください。それからあなたは見るでしょう。間違ったパラメータ数。


関連する質問
メニュー
最も人気のある