post icon

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 '\'

19 febbraio 2009 @ 12:01

No comments yet.

Leave a comment

Leave a Reply

Are you human? Time limit is exhausted. Please reload CAPTCHA.