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

Extraer una parte de una consulta de un registro

Estas en el tema de Extraer una parte de una consulta de un registro en el foro de Mysql en Foros del Web. Hola, como puedo extraer solo una parte de una cadena que es resultado de una consulta sql? Por ejemplo Esta es la consulta que hago: ...
  #1 (permalink)  
Antiguo 05/09/2021, 15:20
Avatar de insyse  
Fecha de Ingreso: abril-2005
Ubicación: Colombia
Mensajes: 206
Antigüedad: 19 años, 7 meses
Puntos: 5
Extraer una parte de una consulta de un registro

Hola,

como puedo extraer solo una parte de una cadena que es resultado de una consulta sql?



Por ejemplo
Esta es la consulta que hago:

SELECT meta_value FROM `postmeta` WHERE `post_id` = 9988 and meta_key = 'session_id'

para este caso, la cadena completa es la siguiente:

1302-1301-20210708-2fa42

y necesito obtener solamente lo que esta en el segundo bloque, lo que esta entre el primer y segundo guion..

1301

Necesito hacer esto directamente en la consulta SQL
__________________
.................................................. ...........................
No todos nacemos aprendidos !
  #2 (permalink)  
Antiguo 05/09/2021, 23:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Extraer una parte de una consulta de un registro

Utiliza la función SUBSTRING().

Código MySQL:
Ver original
  1. SELECT SUBSTRING(meta_value, 6, 4) AS extracto FROM `postmeta` WHERE `post_id` = 9988 and meta_key = 'session_id'

Resultado:

Código Output:
Ver original
  1. 1301

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: parte, registro
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 11:44.