1. ホーム
  2. sql

[解決済み] SQL ServerにはLastIndexOfがありますか?

2023-02-13 23:46:13

質問

文字列から値をパースしようとしています。 最後の インデックス 文字列 . 現在、文字列を反転させるという恐ろしいハックをやっています。

SELECT REVERSE(SUBSTRING(REVERSE(DB_NAME()), 1, 
    CHARINDEX('_', REVERSE(DB_NAME()), 1) - 1))

私には、このコードはほとんど読めません。 私はちょうどSQL Server 2016にアップグレードし、私はより良い方法があることを期待しています。 あるのでしょうか?

どのように解決するのですか?

もしあなたが、最後の _ を使用します。

select right(db_name(), charindex('_', reverse(db_name()) + '_') - 1)

もし、すべてを前にしたいのであれば left() :

select left(db_name(), len(db_name()) - charindex('_', reverse(db_name()) + '_'))