Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server 2005:charindex od końca

Co musisz z tym zrobić? Czy musisz łapać znaki po ostatnim wystąpieniu danego ogranicznika?

Jeśli tak:odwróć ciąg i wyszukaj, używając normalnego CHARINDEX:

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))

Otrzymasz z powrotem "jakiś.plik" - znaki do ostatniego "." w oryginalnej nazwie pliku.

W SQL Server bezpośrednio nie ma „LASTCHARINDEX” ani niczego podobnego. To, co możesz rozważyć w SQL Server 2005 i nowszych, to świetna biblioteka rozszerzeń .NET i wdrożenie jej jako zespołu w SQL Server - T-SQL nie jest zbyt silny w manipulacji ciągami, podczas gdy .NET w rzeczywistości jest.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Podłączanie Delphi w systemie Linux do SQL Server

  2. Czy istnieje sposób, aby nie używać nawiasów kwadratowych w SQL Server?

  3. Jak wstawić dane do tabeli SQL Server za pomocą R?

  4. CHARINDEX() vs PATINDEX() w SQL Server — jaka jest różnica?

  5. SQL konwertuje datetime i odejmuje godziny