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

Bagaimana cara membagi string sehingga saya dapat mengakses item x?

Saya tidak percaya SQL Server memiliki fungsi split bawaan, jadi selain UDF, satu-satunya jawaban lain yang saya tahu adalah membajak fungsi PARSENAME:

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2) 

PARSENAME mengambil string dan membaginya pada karakter titik. Dibutuhkan angka sebagai argumen kedua, dan angka itu menentukan segmen string mana yang akan dikembalikan (berfungsi dari belakang ke depan).

SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 3)  --return Hello

Masalah yang jelas adalah ketika string sudah berisi titik. Saya masih berpikir menggunakan UDF adalah cara terbaik...ada saran lain?



  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 Membuat SQL Trace Untuk Menangkap Acara SQL Server

  2. Pengantar Tabel Sementara di SQL Server

  3. Cara Menampilkan Query dan Hasil di Tab Terpisah di SQL Server Management Studio (SSMS) - Tutorial SQL Server / TSQL Part 15

  4. Memilih COUNT(*) dengan DISTINCT

  5. Menggunakan T-SQL, kembalikan elemen delimited ke-n dari sebuah string