mysql-substring_index-positive

Siguiendo con los tutoriales, tips y desarrollo de funcionalidades que posiblemente utilizaremos en nuestros proyectos en esta entrada veremos como podemos extraer una fecha de un campo TimeStamp de MYSQL, en mi caso una vez me fue de gran ayuda ya que necesitaba de un campo TimeStamp recuperar solo las fechas agrupadas, sin repetir ninguna fecha según los parámetros de mi consulta, tu caso puede ser o no similar, pero con la seguridad de que si no es así podrás adaptarlo a tus necesidades, veamos:

para efectos del ejemplo tenemos una tabla con una sola columna la cual contiene las fechas de tipo TimeStamp configuradas con valor por defecto con CURRENT_TIMESTAMP, lo que indica que el campo al ser insertado el valor de la fecha lo asignará el servidor automáticamente.

TimeStamp

Seguido haremos nuestra consulta con la cual extraeremos la fecha así:

[cc lang=»sql»]
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(`fecha`, ‘ ‘, 1), ‘ ‘, -1) AS ‘Fecha’
FROM
`ejemplo`
[/cc]
Como pueden ver estamos haciendo uso de SUBSTRING_INDEX el cual devuelve una subcadena, de la cadena principal que estamos pasando, teniendo en cuenta un delimitador, que para este caso es un espacio en blanco, seguido de un numero «-1″ que indica el regreso de la subcadena de la derecha.
Osea que tendríamos como sintaxis:
[cc lang=»sql»]
SUBSTRING_INDEX (str, delim, count)
[/cc]
Con lo cual tendríamos como resultado:
SUBSTRINGINDEX
Y si queremos agrupar para obtener fechas sin repetir podemos hacer uso de GROUP BY:
[cc lang=»sql»]
SELECT
SUBSTRING_INDEX(SUBSTRING_INDEX(`fecha`, ‘ ‘, 1), ‘ ‘, -1) AS Fecha
FROM
`ejemplo` GROUP BY SUBSTRING_INDEX(SUBSTRING_INDEX(`fecha`, ‘ ‘, 1), ‘ ‘, -1)
[/cc]
y obtendríamos:
fechas

Bueno amigos espero sea de su completa utilidad, recuerden dejar sus comentarios y seguirnos en nuestras redes sociales, así mismo compartir nuestros artículos ya que nos ayudan a crecer y nos motiva a seguir posteando.
Hasta pronto!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

×