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

SQL Server 2005:charindex bắt đầu từ cuối

Bạn cần làm gì với nó ?? Bạn có cần lấy các ký tự sau lần xuất hiện cuối cùng của một dấu phân cách nhất định không?

Nếu vậy:đảo ngược chuỗi và tìm kiếm bằng CHARINDEX bình thường:

declare @test varchar(100)
set @test = 'some.file.name'

declare @reversed varchar(100)
set @reversed = REVERSE(@test)

select 
    REVERSE(SUBSTRING(@reversed, CHARINDEX('.', @reversed)+1, 100))

Bạn sẽ nhận lại "some.file" - các ký tự cho đến cuối cùng là "." trong tên tệp gốc.

Không có "LASTCHARINDEX" hoặc bất kỳ thứ gì tương tự trong SQL Server trực tiếp. Những gì bạn có thể xem xét thực hiện trong SQL Server 2005 trở lên là một thư viện mở rộng .NET tuyệt vời và triển khai nó dưới dạng một lắp ráp vào SQL Server - T-SQL không mạnh về thao tác chuỗi, trong khi .NET thực sự là như vậ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. Việc chuyển đổi datetime của C # thành datetime của máy chủ sql đang gặp lỗi

  2. Làm cách nào để lấy tập lệnh của dữ liệu SQL Server?

  3. Kết nối với phiên bản SQL Server 2008 được đặt tên từ ASP cổ điển

  4. Ngày xây dựng từ năm và số tuần trong MSSQL

  5. Làm thế nào để nối các cột đúng cách bằng T-SQL?