SQL LAST INDEX OF – Return last index of char into a string
Questo snippet mostra come creare ed utilizzare una DBO Function che ritorna la posizione dell'ultimo carattere specificato in una stringa.
La funzione è la seguente:
CREATE FUNCTION [dbo].[LastIndexOf]
(
@STRING NVARCHAR(4000), @CHAR NCHAR
)
RETURNS SMALLINT
AS
BEGIN
![]()
DECLARE @INDEX SMALLINT, @START SMALLINT
![]()
SELECT @STRING = RTRIM(LTRIM(@STRING))
SELECT @START = 0
SELECT @INDEX = CHARINDEX(@CHAR, @STRING, @START)
WHILE @INDEX <> 0
BEGIN
SELECT @START = @INDEX
SELECT @INDEX = CHARINDEX(@CHAR, @STRING, @START+1)
END
![]()
![]()
RETURN (@START)
END
GO
![]()
SELECT [dbo].[LastIndexOf] ('Ciao\mamma\guarda\come\mi\diverto\con\le\funzioni\sulle\stringhe', '\')
La select restituisce 56 che è l'indice dell'ultimo carattere '\'
Lascia un commento