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

SQL Server 2005 Menggunakan CHARINDEX() Untuk membagi string

Saya tidak akan mengatakan itu mudah atau jelas, tetapi hanya dengan dua tanda hubung, Anda dapat membalikkan string dan itu tidak terlalu sulit:

with t as (select 'LD-23DSP-1430' as val)
select t.*,
       LEFT(val, charindex('-', val) - 1),
   SUBSTRING(val, charindex('-', val)+1, len(val) - CHARINDEX('-', reverse(val)) - charindex('-', val)),
       REVERSE(LEFT(reverse(val), charindex('-', reverse(val)) - 1))
from t;

Di luar itu dan Anda mungkin ingin menggunakan split() sebagai gantinya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ubah nilai NULL dalam format Datetime menjadi string kosong

  2. Lewati variabel ke pemicu

  3. Bagaimana cara menambahkan kolom nomor urut ke dalam data hasil?

  4. SQL Server - transaksi mundur karena kesalahan?

  5. Bentrokan tipe operan:varchar tidak kompatibel dengan varchar (50) yang mencoba memasukkan ke dalam basis data terenkripsi