domingo, 26 de octubre de 2014

SQL avanzado en MySQL y PHPMyAdmin - 2 de 5



k. Concatenar varios campos

La instrucción que permite concatenar campos y cadenas de caracteres es CONCAT().

Esta función toma como argumento el nombre de los campos o de las cadenas de caracteres que quiere concatenar (juntar).

Par ejemplo, para mostrar el nombre y los apellidos separados por un espacio:

SELECT CONCAT(Nombre,’ ’,Apellidos) as Nombre_Apellidos
FROM Persona ORDER BY Nombre

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



l. Posición de una cadena de caracteres en un campo

La instrucción que permite devolver la posición de una cadena de caracteres en un campo es INSTR().

Esta función toma como argumentos el nombre del campo o de la cadena de caracteres de inicio y la cadena de caracteres que hay que buscar. Esta función devuelve 0 si no se ha encontrado la cadena.

Por ejemplo, para mostrar la posición de ’ar’ en el nombre de las personas:

Select Nombre, INSTR(Nombre, ’ar’) as position FROM Persona ORDER
BY Nombre

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



m. Añadir una secuencia de caracteres

La instrucción que permite devolver una cadena completada por la izquierda por una secuencia de caracteres es LPAD().

Esta función toma como argumentos el campo o la cadena de caracteres, la longitud total del campo con los caracteres que se han añadido y el carácter que hay que añadir.

Por ejemplo, para mostrar el carácter ":" antes de los apellidos de manera que el campo tenga 25 caracteres de longitud total:

SELECT LPAD(Apellidos,25,’:’) FROM Persona

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:


De la misma manera la función RPAD() completa a la derecha.


n. Sustitución de una cadena de caracteres

La instrucción que permite sustituir una cadena de caracteres en un campo o en otra cadena de caracteres es REPLACE().

Esta función toma como argumentos la cadena de caracteres principal o el campo, la cadena de caracteres que se busca y la cadena de caracteres de sustitución.

Por ejemplo, para sustituir ’Da’ por ’Da--’ en el nombre de las personas:

SELECT REPLACE(Nombre,’Da’,’Da--’) as Nombre_sustituido FROM Persona

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



o. Probar el valor de un campo

La instrucción que permite probar una expresión (como el valor de un campo por ejemplo) es IF().

Esta función toma como argumentos la condición, el valor que tiene que devolver si la condición es verdadera y el valor que tiene que devolver si la condición es falsa.

Por ejemplo, para mostrar "Senior" en personas de más de 60 años y "Otro" para las otras personas:

Select Nombre, Apellidos, Edad, IF(Edad > 60,’Senior’,’Otro’)
as Categoría FROM Persona ORDER BY Nombre

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:


La otra instrucción que permite probar el valor de un campo es CASE WHEN THEN.

Esta instrucción puede contener varias veces la palabra clave WHEN y por lo tanto puede obtener varios resultados posibles según las condiciones que se han pasado en WHEN.

Por ejemplo, para mostrar "Senior" en personas de más de 60 años, "Medio" en personas entre 35 y 60 años y "Junior" en personas de menos de 35 años:

Select Nombre,
Apellidos,
Edad,
CASE WHEN Edad > 60 THEN ’SENIOR’
WHEN Edad BETWEEN 35 AND 60 THEN ’Medio’
WHEN Edad < 35 THEN ’Junior’
END as Categoría
FROM Persona
ORDER BY Nombre

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



p. Examinar la fecha actual

Las funciones CURDATE() y CURRENT_DATE() devuelven la fecha actual en formato aaaa-mm-dd.

Las funciones CURTIME() y CURRENT_TIME() devuelven la hora actual en formato hh:mm:ss.

Las funciones NOW(), LOCALTIME() y CURRENT_TIMESTAMP() devuelven la fecha y la hora actuales.

Por ejemplo:

SELECT CURDATE(), CURTIME(), NOW(), LOCALTIME(), CURRENT_TIMESTAMP()

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



q. Extraer la fecha de un campo date y hora

La instrucción que permite devolver la parte de la fecha de un campo que contiene la fecha y la hora es DATE().

Esta función toma como argumento el campo o la fecha completa.

Por ejemplo:

SELECT NOW() as fecha_hora, DATE(NOW()) as solo_fecha

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



r. Diferencia entre dos fechas

La instrucción que permite devolver la diferencia en número de días entre dos fechas es DATEDIFF().

Esta función toma como argumentos el primer campo o una fecha, y a continuación un segundo campo o una fecha.

Por ejemplo:

SELECT DATEDIFF(’2013-05-07’, ’2013-02-02’) as número_días

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:


s. Añadir un intervalo de tiempo a una fecha

La instrucción que permite añadir un intervalo de tiempo a una fecha es DATE_ADD() o ADDDATE().

Esta función toma como argumentos la fecha o el campo y la palabra clave INTERVAL seguida del valor y de la unidad (días, mes, semana...).

Por ejemplo, para añadir un día a la fecha 10/01/2013:

SELECT DATE_ADD(’2013-01-10’,INTERVAL 1 DAY) as día_siguiente

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:


Las palabras clave de los intervalos son:
  • MICROSECOND: microsegundos
  • SECOND: segundos
  • MINUTE: minutos
  • HOUR: horas
  • DAY: días
  • WEEK: semanas
  • MONTH: meses
  • QUARTER: trimestres
  • YEAR: años
  • MINUTE_SECOND: minutos y segundos en formato m:s
  • HOUR_SECOND: horas, minutos y segundos en formato h:m:s
  • HOUR_MINUTE: horas y minutos en formato h:m
  • DAY_SECOND : días, horas, minutos y segundos en formato d h:m:s
  • YEAR_MONTH : año y mes en formato a-m


Por ejemplo, para añadir 2 años y 1 mes a la fecha 10/01/2013:

SELECT DATE_ADD(’2013-01-10’,INTERVAL ’2-1’ YEAR_MONTH) as nueva_fecha

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:


Si la fecha se muestra en hexadecimal, seleccione la opción Mostrar el contenido binario en hexadecimal, a la que se accede por el enlace Opciones situado encima del resultado de la consulta.


t. Añadir un intervalo de tiempo a una hora

La instrucción que permite añadir un intervalo de tiempo a una hora es ADDTIME().

Esta función toma como argumentos la hora o el campo que contiene la hora y el intervalo de tiempo que debe añadir en formato hh:mm:ss.μμμμμμ.

Por ejemplo, para añadir un minuto y dos segundos a 22h58m02s:

SELECT ADDTIME(’22:58:02’,’00:01:02’) as nueva_hora

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:



u. Sustracción de un intervalo de tiempo a una fecha

La instrucción que permite sustraer un intervalo de tiempo a una fecha es DATE_SUB() o SUBDATE().

Esta función toma los mismos argumentos que los de la función DATE_ADD() y opera según el mismo principio, salvo que sustrae el intervalo de tiempo.

Por ejemplo, para sustraer 41 días de la fecha 10/01/2013:

SELECT DATE_SUB(’2013-01-10’,INTERVAL ’41’ DAY) as nueva fecha

Copie esta consulta en la pestaña SQL de PHPMyAdmin y haga clic en Continuar:




Espero haber ayudado en algo. Hasta la próxima oportunidad!







No hay comentarios:

Publicar un comentario en la entrada