sql >> データベース >  >> RDS >> Sqlserver

T-SQLを使用して、サブ文字列の最後の出現のインデックスを検索します

    簡単な方法ですか?いいえ、しかし私はその逆を使用しました。文字通り。

    以前のルーチンでは、特定の文字列の最後の出現を見つけるために、REVERSE()関数を使用し、次にCHARINDEXを使用し、次にREVERSEを使用して元の順序を復元しました。例:

    SELECT
       mf.name
      ,mf.physical_name
      ,reverse(left(reverse(physical_name), charindex('\', reverse(physical_name)) -1))
     from sys.master_files mf
    

    は、サブフォルダにどれほど深くネストされていても、「物理名」から実際のデータベースファイル名を抽出する方法を示しています。これは1文字(バックスラッシュ)のみを検索しますが、これに基づいてより長い検索文字列を検索できます。

    唯一の欠点は、これがTEXTデータ型でどれほどうまく機能するかわからないことです。私はSQL2005を数年使用していて、TEXTの操作に精通していませんが、LEFTとRIGHTを使用できることを思い出しているようです。

    フィリップ



    1. SQL Serverで外部キー制約を無効にする方法(T-SQLの例)

    2. 非オブジェクトのプロパティを取得しようとしています-CodeIgniter

    3. OracleのTO_TIMESTAMP_TZ()関数

    4. COVID-19パンデミックと戦うための無料の野戦病院データベース