Inicio > Transact-SQL > CHARINDEX (Transact-SQL)

CHARINDEX (Transact-SQL)


Examina expression2 para buscar la primera aparición de expression1 y devuelve un valor entero que representa su posición inicial.

Ejemplo

— =============================================
— Author:  Ricardo Huaman Suarez
— Create date: 20 12 2009
— Description: Se pasa un cadena de ruta de archivos separados por “;”
— y se inserta cada registro en un tabla llamada ArchivosTemporales
— EXEC spSepararRutaArchivos
— =============================================
ALTER PROCEDURE [dbo].[spSepararRutaArchivos]
@Id_Archivo Int,
@RutaArchivos VARCHAR(8000),
@Proceso Int,
@Error VARCHAR(MAX) OUTPUT

AS
BEGIN
— Evita que se devuelva el mensaje que muestra el recuento del número de filas afectadas
SET @Error = ”;
SET NOCOUNT ON;
BEGIN TRY

DECLARE @Delimiter CHAR(1);
DECLARE @RutaArchivoInsert VARCHAR(50);
SET @Delimiter = ‘;’;

BEGIN TRANSACTION TransArchivos;

WHILE CHARINDEX(@Delimiter,@RutaArchivos,0) <> 0
BEGIN
SELECT @RutaArchivoInsert = RTRIM(LTRIM(SUBSTRING(@RutaArchivos,1,CHARINDEX(@Delimiter,@RutaArchivos,0)-1))),
@RutaArchivos = RTRIM(LTRIM(SUBSTRING(@RutaArchivos,CHARINDEX(@Delimiter,@RutaArchivos,0)+1,LEN(@RutaArchivos))))
IF LEN(@RutaArchivoInsert) > 0
INSERT INTO dbo.ArchivosTemporales
(Id_Archivo,RutaArchivo,Proceso)
VALUES
(@Id_Archivo,@RutaArchivoInsert,@Proceso)
END

COMMIT TRANSACTION TransArchivos;

END TRY
BEGIN CATCH
ROLLBACK TRANSACTION TransArchivos;
SET @Error = ‘Ocurrio un Error: ‘ + ERROR_MESSAGE() + ‘ en la línea ‘ + CONVERT(NVARCHAR(255), ERROR_LINE() ) + ‘.’
END CATCH
END

Categorías:Transact-SQL
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: