sql >> Database >  >> RDS >> Sqlserver

SQL Server 2005:charindex vanaf het einde

Wat moet je ermee?? Moet je de karakters pakken na het laatste voorkomen van een bepaald scheidingsteken?

Zo ja:draai de string om en zoek met de normale 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))

U krijgt "some.file" terug - de tekens tot aan de laatste "." in de originele bestandsnaam.

Er is geen "LASTCHARINDEX" of iets dergelijks rechtstreeks in SQL Server. Wat je zou kunnen overwegen te doen in SQL Server 2005 en hoger is een geweldige .NET-extensiebibliotheek en deze te implementeren als een assembly in SQL Server - T-SQL is niet erg sterk met stringmanipulatie, terwijl .NET dat wel is.



  1. SQL Server:wat is de beste manier om gegevens te migreren?

  2. SQL Volledige rij ophalen op basis van minimumwaarde van berekende kolom

  3. Pymysql Cursor.fetchall() / Fetchone() Retourneert Geen

  4. geef de waarde van de PHP-variabele door aan de SQL IN-clausule