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

Mendapatkan bagian tertentu dari string di T-SQL

select stuff('prop234', 1,4,'')

dan jika panjangnya bukan konstanta:

declare @t table(expression varchar(100))
insert @t values('propprop234')

select stuff(expression, 1, patindex('%_[0-9]%', expression), '') from @t

EDIT:Untuk memastikan data yang buruk ditangani, seperti tidak ada teks terlebih dahulu atau tidak ada nomor terakhir, berikut adalah pendekatan yang sedikit berbeda:

select stuff(expression, 1,patindex('%[^0-9][0-9]%', expression + '0'), '') 
from @t 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penghapusan Kaskade Kerangka Entitas

  2. Tidak dapat membuka basis data default pengguna. Gagal masuk. setelah menginstal SQL Server Management Studio Express

  3. Gunakan APP_NAME() untuk Mendapatkan Nama Aplikasi dari Sesi Saat Ini di SQL Server

  4. Cara menghapus baris duplikat sepenuhnya

  5. Kapan dan bagaimana menggunakan klausa SQL PARTITION BY