Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Temukan indeks kemunculan terakhir dari sub-string menggunakan T-SQL

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghubungkan ke Beberapa Server SQL dalam Satu Klik (Grup Server Terdaftar) - Tutorial SQL Server / TSQL Bagian 5

  2. Kesalahan SQL Server 213:Nama kolom atau jumlah nilai yang diberikan tidak sesuai dengan definisi tabel.

  3. Pratinjau publik pertama SQL Server 2019 :CTP 2.0

  4. Buat Jadwal Agen Server SQL dengan T-SQL

  5. Tambahkan Offset Zona Waktu ke Nilai datetime2 di SQL Server (T-SQL)