Cara langsung? Tidak, tapi saya menggunakan kebalikannya. Secara harfiah.
Dalam rutinitas sebelumnya, untuk menemukan kemunculan terakhir dari string yang diberikan, saya menggunakan fungsi REVERSE(), diikuti CHARINDEX, diikuti lagi oleh REVERSE untuk mengembalikan urutan aslinya. Misalnya:
SELECT
mf.name
,mf.physical_name
,reverse(left(reverse(physical_name), charindex('\', reverse(physical_name)) -1))
from sys.master_files mf
menunjukkan cara mengekstrak nama file database aktual dari "nama fisik" mereka, tidak peduli seberapa dalam bersarang di subfolder. Ini hanya mencari satu karakter (garis miring terbalik), tetapi Anda dapat membuatnya untuk string pencarian yang lebih panjang.
Satu-satunya downside adalah, saya tidak tahu seberapa baik ini akan bekerja pada tipe data TEXT. Saya telah menggunakan SQL 2005 selama beberapa tahun sekarang, dan saya tidak lagi fasih bekerja dengan TEXT -- tapi sepertinya saya ingat Anda dapat menggunakan KIRI dan KANAN di atasnya?
Philip