Mostrando entradas con la etiqueta básico. Mostrar todas las entradas
Mostrando entradas con la etiqueta básico. Mostrar todas las entradas

Restando fechas: formas de calcular la edad

Es obvio que la edad actual de una persona se calcula restando la fecha del momento y la fecha de nacimiento. Hay varias formas de hacerlo, cada una con una mayor precisión que la anterior. En este artículo vamos a utilizar las funciones para restar fechas y obtener componentes de fechas de MySQL (aquí hay una lista de esas funciones). Para aplicar estas ideas a otros gestores de BD, debes buscar las funciones equivalentes en esos gestores.

Distinct no es una función

Es muy habitual ver consultas que emplean la cláusula distinct como si fuese una función, es decir, encerrando entre paréntesis un campo como si fuese un parámetro de invocación a la función.

Funciones de manipulación de cadenas para extraer la ciudad a partir de la dirección

Es habitual tener un campo con direcciones en tablas de una BD. La dirección puede contener la calle, la ciudad… Esta lección te muestra cómo obtener solo la ciudad a partir de la dirección completa.

Se puede usar case para contar/sumar cosas que cumplan una determinada condición

Aunque la mejor forma de hacer consultas con funciones de agregación (cuenta, suma…) es usando group by, en ocasiones basta con usar una cláusula case dentro de la función de agregación. 

Cuidado con los comodines

Los comodines son útiles cuando queremos hacer comparaciones no exactas. Son sencillos de utilizar, pero con frecuencia se cometen algunos fallos que hay que evitar. Aquí hay algunos ejemplos de fallos habituales.

Cuidado con la preferencia de operadores lógicos

El operador and se evalúa antes que el or. Y si no tienes en cuenta este orden de preferencia puedes cometer errores al escribir condiciones complejas en el where de una consulta SQL.

Ordenar según el valor de expresiones mostradas en el select

Ordenar usando el valor de algún campo es sencillo. Basta con referirse al nombre del campo en la cláusula order by. Pero cuando el criterio de ordenación no es un campo, sino una expresión (con funciones u operadores) encontráis dificultades para referiros en el order by a esa expresión usada en el select. Aquí explicamos algunas formas de hacerlo.

¡Qué útil es la función coalesce!

Es frecuente ver cómo recurrís a usar una estructura case cuando tratáis de evitar que aparezca un valor null en un select y, en su lugar, queréis ver una leyenda alternativa como "valor no disponile". En estos casos es mejor recurrir a la función coalesce. Aquí tenéis un ejemplo:

Comprobación de no nulo

Los test de nulidad son muy sencillos de usar y escribir, aunque a veces se ven soluciones "imaginativas", que esconden fallos conceptuales graves, como en este caso.