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

Làm cách nào để chọn một chuỗi giữa hai chuỗi trong một cột trong SQL Server?

Để có dữ liệu mẫu dưới đây

declare @table table (id int identity(1,1), data varchar(1000), descr varchar(1000))

insert into @table values ('Manufacturer Name : Manufacturer 1 Manufacturer Part : asjdfj','First Manufacturer')
insert into @table values ('Manufacturer Name : Manufacturer 2 Manufacturer Part : asjsadfasdfdfj','Second Manufacturer')
insert into @table values ('Manufacturer Name : Manufacturer 3 Manufacturer Part : er6ty','Third Manufacturer')

bạn có thể sử dụng

select substring(data, 
                 charindex('Manufacturer Name : ', data) + len('Manufacturer Name : '),
                 charindex('Manufacturer Part : ',data) - len('Manufacturer Part :') - 2) as Manufacturer_Name
       , descr
from @table

Nếu bạn nhận thấy, tôi đang xóa 2 ký tự ở cuối chuỗi con để loại bỏ 'M' khỏi Manufacturer Part và Khoảng trắng trước văn bản thực tế. Bạn có thể sử dụng RTRIM nhưng tôi đã chọn cách này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng PATINDEX để tìm các mẫu độ dài khác nhau trong T-SQL

  2. Làm thế nào để xác định sự trùng lặp khóa chính từ mã lỗi SQL Server 2008?

  3. Cắt bớt tất cả các bảng trong Cơ sở dữ liệu trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 55

  4. Làm cách nào tôi có thể hiển thị tất cả thời gian giữa 2 thông số thời gian khác nhau

  5. OPENROWSET BULK quyền đối với thư mục được chia sẻ