11 Lenguaje SQL Funciones

Si consideramos que MySQL es rico en lo que respecta a operadores, en lo que se refiere a funciones, podemos considerarlo millonario. MySQL dispone de multitud de funciones.

Pero no las explicaremos aquí, ya que este curso incluye una referencia completa. Tan sólo las agruparemos por tipos, e incluiremos los enlaces correspondientes a la documentación de cada una.

Funciones de control de flujo

Las funciones de esta categoría son:

IF Elección en función de una expresión booleana
IFNULL Elección en función de si el valor de una expresión es NULL
NULLIF Devuelve NULL en función del valor de una expresión

Funciones matemáticas

Las funciones de la categoría de matemáticas son:

ABS Devuelve el valor absoluto
ACOS Devuelve el arcocoseno
ASIN Devuelve el arcoseno
ATAN y ATAN2 Devuelven el arcotangente
CEILING y CEIL Redondeo hacia arriba
COS Coseno de un ángulo
COT Cotangente de un ángulo
CRC32 Cálculo de comprobación de redundancia cíclica
DEGREES Conversión de grados a radianes
EXP Cálculo de potencias de e
FLOOR Redondeo hacia abajo
LN Logaritmo natural
LOG Logaritmo en base arbitraria
LOG10 Logaritmo en base 10
LOG2 Logaritmo en base dos
MOD o % Resto de una división entera
PI Valor del número π
POW o POWER Valor de potencias
RADIANS Conversión de radianes a grados
RAND Valores aleatorios
ROUND Cálculo de redondeos
SIGN Devuelve el signo
SIN Cálculo del seno de un ángulo
SQRT Cálculo de la raíz cuadrada
TAN Cálculo de la tangente de un ángulo
TRUNCATE Elimina decimales

Funciones de cadenas

Las funciones para tratamiento de cadenas de caracteres son:

ASCII Valor de código ASCII de un carácter
BIN Converión a binario
BIT_LENGTH Cálculo de longitud de cadena en bits
CHAR Convierte de ASCII a carácter
CHAR_LENGTH o CHARACTER_LENGTH Cálculo de longitud de cadena en caracteres
COMPRESS Comprime una cadena de caracteres
CONCAT Concatena dos cadenas de caracteres
CONCAT_WS Concatena cadenas con separadores
CONV Convierte números entre distintas bases
ELT Elección entre varias cadenas
EXPORT_SET Expresiones binarias como conjuntos
FIELD Busca el índice en listas de cadenas
FIND_IN_SET Búsqueda en listas de cadenas
HEX Conversión de números a hexadecimal
INSERT Inserta una cadena en otra
INSTR Busca una cadena en otra
LEFT Extraer parte izquierda de una cadena
LENGTH u OCTET_LENGTH Calcula la longitud de una cadena en bytes
LOAD_FILE Lee un fichero en una cadena
LOCATE o POSITION Encontrar la posición de una cadena dentro de otra
LOWER o LCASE Convierte una cadena a minúsculas
LPAD Añade caracteres a la izquierda de una cadena
LTRIM Elimina espacios a la izquierda de una cadena
MAKE_SET Crea un conjunto a partir de una expresión binaria
OCT Convierte un número a octal
ORD Obtiene el código ASCII, incluso con caracteres multibyte
QUOTE Entrecomilla una cadena
REPEAT Construye una cadena como una repetición de otra
REPLACE Busca una secuencia en una cadena y la sustituye por otra
REVERSE Invierte el orden de los caracteres de una cadena
RIGHT Devuelve la parte derecha de una cadena
RPAD Inserta caracteres al final de una cadena
RTRIM Elimina caracteres blancos a la derecha de una cadena
SOUNDEX Devuelve la cadena "soundex" para una cadena concreta
SOUNDS LIKE Compara cadenas según su pronunciación
SPACE Devuelve cadenas consistentes en espacios
SUBSTRING o MID Extraer subcadenas de una cadena
SUBSTRING_INDEX Extraer subcadenas en función de delimitadores
TRIM Elimina sufijos y/o prefijos de una cadena.
UCASE o UPPER Convierte una cadena a mayúsculas
UNCOMPRESS Descomprime una cadena comprimida mediante COMPRESS
UNCOMPRESSED_LENGTH Calcula la longitud original de una cadena comprimida
UNHEX Convierte una cadena que representa un número hexadecimal a cadena de caracteres

Funciones de comparación de cadenas

Además de los operadores que vimos para la comparación de cadenas, existe una función:

STRCMP Compara cadenas

Comentarios de los usuarios (9)

Elisa Minerva
2009-12-09 20:27:28

Hola, solo comentar que esta muy padre el diseño de la página aunq el anterior era sencillo y muy practico, lo unico que encuentro molesto es de q las ligas no estan actualizadas mas q nada en el curso de mysql, que hasta el día de ayer era mi guia fuerte porq es el curso más completo que habia encontrado para apoyarme en mysql.

ronald ochoa - colombia - valle del cauca
2009-12-24 21:48:33

ESTA PAGINA DE INTERNET ME HA PERMITIDO AMPLIAR MI CONOCIMIENTO DEL MUNDO DE LAS BASES DE DATOS CON MYSQL. SOLO QUIERO AGRADERCER A LOS CREADORES DE ESTA PAGINA POR HACER MYSQL MAS FÁCIL.

Jordi Fornós
2010-01-08 11:01:48

Os envío una crítica:

...lo siento pero la nueva web de mySQL con clase deja mucho que desear... la visualización es complicada (con cualquiera de los estilos), hay frames por ahí perdidos que tapan el texto, si tienes dos pantallas con diferentes resoluciones y abres el explorador en la secundaria, no hay forma de ver bién la información, etc.....

La antigua era... eso, antigua, pero era SUPER FUNCIONAL y muy práctica.

Saludos!

Eduardo
2010-11-14 15:36:17

seria espectacular que actulizaran mySql con clase. pues estoy leyendola y aplicandola, es un muy buen manual, el mejor que encuentro hasta hoy, pero miren ya pasaron 5 años y se va para el 6 . Seria bueno una actualizacion.

ErickSol
2010-11-22 06:48:38

Estoy aprendiendo como no tienen idea. Este es un ABC para aprender a utilizar MySQL. Espero los próximos cursos que me interesen y se encuentren esta página sean tan buenos como este.

josue
2011-10-04 20:32:27

esta informacion esta muy buena gracias a ella resolvi algunas dudas...muchas gracias por publicar esto..

Carlos
2013-05-09 18:38:13

estoy usando la herramienta firebird maestro

y quiero dar de alta variables con el comando set o select pero al ejecutar la variable me abre unn recuadro para poner el valo, le pongo el valor y me marca error , peo el valor ya esta asigando alguien me puede ayudar

Mari
2013-06-19 23:37:32

Muchas gracias por este estupendo curso, ya había visto MySQL en la Universidad y lo apliqué en algunos proyectos. Pero como me estoy actualizando porque en mi trabajo solo veo otras cosas, me encontré tu página y me quede boquiabierta, había muchas cosas que desconocía.

Muchas felicidades por seguir haciendo el esfuerzo de actualizar y mantener esta página y sobre todo por haber hecho este curso tan practico.

Jose Messi
2016-07-26 13:30:57

No aprendi nada con esto, fue una perdida de tiempo leer esta pagina de mierda, dediquen sen a otra cosa sub normales