Dividir una cadena de caracteres en Trigger's de mssql
Antes que nada agradezco tu ayuda al orientarme a triggers de mssql ya que ahora realizo muchas más cosas con este sistema, tengo una nueva duda la cual googleando no me ha aparecido, yo voy a realizar un trigger para tabla1 donde tengo lo siguiente:
Nombre
Password
Cadena
_____________________________
Quisiera saber si hay alguna manera de poder dividir cadena y poder analizarla Ejemplo:
Cadena
FFFFFFFFFF125478FFFFFFFFFF584251FFFFFFFFFF
(FFFFFFFFFF) (125478) (FFFFFFFFFF) (584251) (FFFFFFFFFF)
_____________________________
Mi cadena cuenta con 42 caracteres la cual necesito comparar solo los números pero están mezclados entre "F" los cuales son de relleno y no puedo modificar, yo ingresare un usuario (user) y una contraseña (contra) y al comparar esas dos con el nombre y el password y comprobar que son iguales proceda a realizar la trigger donde borre la actual cadena la cual al compararla y comprobar que es igual a lo que yo pido coloque una nueva cadena, algo así:
_____________________________
Create trigger cadena
on Tabla1 for update
As
Declare @n1 Varchar(12)
Declare @p1 Smallint
Declare @cadena Varchar(42)
Select @n1 = Nombre, @p1 = password, @cadena = Cadena from Inserted
UPDATE tabla1
SET cadena= FFFFFFFFFF222222FFFFFFFFFF555555FFFFFFFFFF
WHERE user = @n1, contra = @p1, @cadena (EXTRAE(10;6) = 125478, @cadena (EXTRAE(26;6) = 584251
Go
______________________________
Lo que subraye y puse en cursiva es lo que no tengo idea de como hacerlo por eso puse EXTRAE como se usa en excel para hacer la comparación
seria de la cadena posición 10 y finaliza 6 caracteres después sea comparado con 125478 y siempre de la misma cadena desde la posición 26 y finaliza 6 caracteres después sea comparado con 584251 y si todo esto es igual entonces que la actual cadena sea borrada y reemplazada con una nueva cadena.
______________________________
Nombre
Password
Cadena
_____________________________
Quisiera saber si hay alguna manera de poder dividir cadena y poder analizarla Ejemplo:
Cadena
FFFFFFFFFF125478FFFFFFFFFF584251FFFFFFFFFF
(FFFFFFFFFF) (125478) (FFFFFFFFFF) (584251) (FFFFFFFFFF)
_____________________________
Mi cadena cuenta con 42 caracteres la cual necesito comparar solo los números pero están mezclados entre "F" los cuales son de relleno y no puedo modificar, yo ingresare un usuario (user) y una contraseña (contra) y al comparar esas dos con el nombre y el password y comprobar que son iguales proceda a realizar la trigger donde borre la actual cadena la cual al compararla y comprobar que es igual a lo que yo pido coloque una nueva cadena, algo así:
_____________________________
Create trigger cadena
on Tabla1 for update
As
Declare @n1 Varchar(12)
Declare @p1 Smallint
Declare @cadena Varchar(42)
Select @n1 = Nombre, @p1 = password, @cadena = Cadena from Inserted
UPDATE tabla1
SET cadena= FFFFFFFFFF222222FFFFFFFFFF555555FFFFFFFFFF
WHERE user = @n1, contra = @p1, @cadena (EXTRAE(10;6) = 125478, @cadena (EXTRAE(26;6) = 584251
Go
______________________________
Lo que subraye y puse en cursiva es lo que no tengo idea de como hacerlo por eso puse EXTRAE como se usa en excel para hacer la comparación
seria de la cadena posición 10 y finaliza 6 caracteres después sea comparado con 125478 y siempre de la misma cadena desde la posición 26 y finaliza 6 caracteres después sea comparado con 584251 y si todo esto es igual entonces que la actual cadena sea borrada y reemplazada con una nueva cadena.
______________________________
1 Respuesta
Respuesta de alfredoal
1