Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Dividir cadena de caracteres alfanumericos

Estas en el tema de Dividir cadena de caracteres alfanumericos en el foro de SQL Server en Foros del Web. Hola. Tengo un campo de tipo char que almacena registros alfanumericos del siguiente estilo: 01.02.03.04 Cada 2 caracteres numericos hay un punto. Necesito dividir esa ...
  #1 (permalink)  
Antiguo 08/01/2010, 08:28
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Exclamación Dividir cadena de caracteres alfanumericos

Hola. Tengo un campo de tipo char que almacena registros alfanumericos del siguiente estilo:

01.02.03.04

Cada 2 caracteres numericos hay un punto.

Necesito dividir esa cadena de la siguiente forma:

Codigo1:01
Codigo2:02
Codigo3:03
Codigo4:04

La bas ede datos es SQL Server 2005

Espero por su ayuda.

Gracias.

Última edición por luchitox_desk; 08/01/2010 a las 08:53 Razón: Me habia olvidado de poner el tipo de base de dato
  #2 (permalink)  
Antiguo 08/01/2010, 09:25
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 5 meses
Puntos: 8
Respuesta: Dividir cadena de caracteres alfanumericos

Así :

Set @codigo1 = substring(cadena,1,2)
Set @codigo2 = substring(cadena,4,2)
Set @codigo3 = substring(cadena,7,2)
Set @codigo4 = substring(cadena,10,2)

Saludos.
  #3 (permalink)  
Antiguo 08/01/2010, 09:48
 
Fecha de Ingreso: junio-2007
Mensajes: 19
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Dividir cadena de caracteres alfanumericos

Perfecto! Implemente tu respuesta del siguiente modo:

Cita:
declare @codigo1 char (2)
declare @codigo2 char (2)
declare @codigo3 char (2)
declare @codigo4 char (2)
declare @cadena char (11)

Set @cadena = '01.02.03.04'
Set @codigo1 = substring(@cadena,1,2)
Set @codigo2 = substring(@cadena,4,2)
Set @codigo3 = substring(@cadena,7,2)
Set @codigo4 = substring(@cadena,10,2)

SELECT @codigo1 as COD1,@codigo2 as COD2,@codigo3 as COD3,@codigo4 as COD4
y pude separar la cadena sin ningun problema. Lo que pasa es que tengo que hacer esto en 3000 registros y no quisiera dar el valor de @cadena de a uno, como podria adaptar el script?

Gracias!
  #4 (permalink)  
Antiguo 08/01/2010, 11:04
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Dividir cadena de caracteres alfanumericos

Código:
SELECT  substring(MiCampo,1,2) ,
        substring(MiCampo,4,2) ,
        substring(MiCampo,7,2) ,
        substring(MiCampo,10,2) 
FROM MiTabla
Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.

Etiquetas: caracteres, dividir, cadenas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:55.