Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lấy một phần nhất định của chuỗi trong T-SQL

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

và nếu độ dài không phải là hằng số:

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

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

CHỈNH SỬA:Để đảm bảo dữ liệu xấu được xử lý, chẳng hạn như không có văn bản nào đầu tiên hoặc không có số cuối cùng, đây là một cách tiếp cận hơi khác:

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. Có nhược điểm nào khi sử dụng VARCHAR (MAX) trong một bảng không?

  2. Thực hiện lệnh Chèn và trả về Id đã chèn trong Sql

  3. Stuff và 'For Xml Path' hoạt động như thế nào trong SQL Server?

  4. Tạo tập lệnh cho cả lược đồ và dữ liệu

  5. Sử dụng GROUP BY với FIRST_VALUE và LAST_VALUE