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

Insertar parte de una Cadena en otra Columna

Estas en el tema de Insertar parte de una Cadena en otra Columna en el foro de Mysql en Foros del Web. Buenas amigos tengo una duda y me gustaria saber como resolverla. tengo una tabla llamada clientes y en un campo (clientes_cod) tengo datos asi: V-xxxx, ...
  #1 (permalink)  
Antiguo 14/06/2013, 09:48
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Pregunta Insertar parte de una Cadena en otra Columna

Buenas amigos tengo una duda y me gustaria saber como resolverla.

tengo una tabla llamada clientes y en un campo (clientes_cod) tengo datos asi:

V-xxxx, E-XXXx, J-XXXX (las "X" son numeros, y la V E J son denominaciones: Natural, Extranjero, Juridico)

y me gustaria en un campo que cree llamado clientes_den, colocar dicha letra (cortandola del cod), para que quede algo asi:

SELECT clientes_den,Clientes_cod FROM clientes

V 12345
J 224234
E 443434


Nose si logro explicarme? :s
  #2 (permalink)  
Antiguo 14/06/2013, 10:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Insertar parte de una Cadena en otra Columna

Manual de Referencia: Funciones de Cadena.

Cita:
INSERT(str,pos,len,newstr)

Retorna la cadena str, con la subcadena comenzando en la posición pos y len caracteres reemplazados por la cadena newstr. Retorna la cadena original si pos no está entre la longitud de la cadena. Replaza el resto de la cadena a partir de la posición pos si len no está dentro de la longitud del resto de la cadena. Retorna NULL si cualquier argumento es nulo.
Código MySQL:
Ver original
  1. mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
  2.         -> 'QuWhattic'
  3. mysql> SELECT INSERT('Quadratic', -1, 4, 'What');
  4.         -> 'Quadratic'
  5. mysql> SELECT INSERT('Quadratic', 3, 100, 'What');
  6.         -> 'QuWhat'
Esta función está preparada para funcionar con múltiples bytes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 14/06/2013, 13:57
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Insertar parte de una Cadena en otra Columna

Hola JuJoGuAl:

Tal como lo mencionó gnzsoloyo, en el manual de referencia hay muchas funciones de cadena que te pueden servir... si todas tus cadenas se comportan como mencionas, con un caracter al inicio, un (-) como separador y una cadena final, podrías utilizar la función SUBSTRING_INDEX() (la cual también está descrita en la liga que te pasó gnzsoloyo)...

Código MySQL:
Ver original
  1. mysql> SELECT
  2.     -> SUBSTRING_INDEX('V-12345', '-', 1),
  3.     -> SUBSTRING_INDEX('V-12345', '-', -1);
  4. +------------------------------------+-------------------------------------+
  5. | SUBSTRING_INDEX('V-12345', '-', 1) | SUBSTRING_INDEX('V-12345', '-', -1) |
  6. +------------------------------------+-------------------------------------+
  7. | V                                  | 12345                               |
  8. +------------------------------------+-------------------------------------+
  9. 1 row in set (0.06 sec)

Dale un vistazo a TODAS las funciones... estoy seguro que te ayudarán en el futuro con tus consultas.

Saludos
Leo.

Etiquetas: cadena, campo, columna, parte, select, tabla
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 21:11.