SQL Server - determinar caracteres iguales que tienen dos cadenas

 
Vista:

determinar caracteres iguales que tienen dos cadenas

Publicado por Meryrg (1 intervención) el 08/01/2013 23:34:00
Hola!!


Cómo puedo determinar el número de caracteres iguales que tienen dos cadenas, teniendo en cuenta que deben estar en la misma posición?

Ejemplo:

GASL811214
GASL811215

En ese ejemplo el resultado debería ser 10

GESA811214
GASL811215

En este otro ejemplo el resultado debería darme 7 que sería la G,S,8,1,1,2 y 1


Espero haberme explicado y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

determinar caracteres iguales que tienen dos cadenas

Publicado por Isaias (4558 intervenciones) el 09/01/2013 01:10:48
En su primer ejemplo no son 10, si no 9, como resultado, debe crear una funcion de usuario que haga el SPLIT para cada caracter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE FUNCTION dbo.Split
(
@CharIN1 nvarchar(50),
@CharIN2 nvarchar(50)
)
RETURNS int
AS
 BEGIN
  DECLARE @Contador int
  SET @Contador = 0
  WHILE LEN (@CharIN1) >= 1
   BEGIN
    IF LEFT(@CharIN1, 1) = LEFT(@CharIN2, 1)
     SET @Contador = @Contador + 1
	SET @CharIN1 = SUBSTRING(@CharIN1, 2, LEN(@CharIN1))
	SET @CharIN2 = SUBSTRING(@CharIN2, 2, LEN(@CharIN2))
	CONTINUE
   END
   RETURN @Contador
 END
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar