Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Función UPPER() de MySQL

La función `UPPER()` de MySQL se utiliza para convertir una cadena a mayúsculas. Es útil para garantizar la uniformidad de mayúsculas y minúsculas, sobre todo cuando se realizan comparaciones que no distinguen mayúsculas de minúsculas o se da formato a las salidas. La función `UPPER()` forma parte de las funciones de cadena de MySQL y está disponible en todas las versiones estándar de MySQL.

Utilización

La función `UPPER()` se utiliza normalmente cuando necesitas convertir datos de texto a mayúsculas por motivos de coherencia o comparación. Se aplica a una cadena o columna que contiene datos de texto.

sql
UPPER(string)

En esta sintaxis, `cadena` es el texto o valor de la columna que hay que convertir a mayúsculas.

Ejemplos

1. Conversión básica de mayúsculas

sql
SELECT UPPER('hello world');

Este ejemplo convierte la cadena `'hola mundo'` en `'HOLA MUNDO'`.

2. Convertir datos de columna

sql
SELECT UPPER(first_name) AS uppercase_name
FROM employees;

Aquí, los valores de la columna `nombre_del_nombre` de la tabla `empleados` se convierten a mayúsculas, y el resultado se alias como `nombre_del_nombre`.

3. Utilizar UPPER() con la cláusula WHERE

sql
SELECT * 
FROM customers
WHERE UPPER(country) = 'CANADA';

En este ejemplo, la función `UPPER()` convierte los valores de la columna `country` a mayúsculas para realizar una comparación insensible a mayúsculas y minúsculas con la cadena `'CANADA'`.

4. Utilizar UPPER() en una condición JOIN

sql
SELECT a.id, a.name, b.category
FROM products a
JOIN categories b ON UPPER(a.category_name) = UPPER(b.category_name);

Este ejemplo muestra el uso de `UPPER()` en una condición `JOIN` para garantizar que los nombres de las categorías se comparan sin distinción entre mayúsculas y minúsculas en ambas tablas.

Consejos y buenas prácticas

  • Comparación coherente. Utiliza `UPPER()` para normalizar los datos de texto para comparaciones insensibles a mayúsculas y minúsculas en las cláusulas `WHERE`.
  • Evita conversiones innecesarias. Aplica `UPPER()` sólo cuando sea necesario para evitar una sobrecarga de cálculo adicional.
  • Consideración del índice. Ten en cuenta que aplicar `UPPER()` a columnas indexadas puede afectar al rendimiento, ya que puede impedir que MySQL utilice el índice de forma eficiente. Considera la posibilidad de utilizar columnas generadas con fines de indexación si se requiere una conversión de casos coherente.
  • Utiliza alias para mayor claridad. Al convertir datos de columna, utiliza alias de columna para indicar claramente la finalidad de los datos transformados.

Funciones relacionadas

Para entender cómo encaja `UPPER()` en las funciones de cadena de MySQL, consulta también la función `LOWER()` para convertir cadenas a minúsculas.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis