簡単な方法ですか?いいえ、しかし私はその逆を使用しました。文字通り。
以前のルーチンでは、特定の文字列の最後の出現を見つけるために、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を使用できることを思い出しているようです。
フィリップ