Compartir a través de


Funciones de expresiones

Las funciones son operaciones almacenadas que puede utilizar. Los sistemas de administración de bases de datos proporcionan las funciones básicas, pero es posible crear funciones definidas por el usuario.

Puede llamar a varias funciones al crear una expresión, entre dichas funciones se encuentran:

  • Funciones de cadena (de tipo character).

  • Funciones de fecha.

  • Funciones matemáticas.

  • Funciones del sistema.

  • Otras funciones, como las de conversión de un tipo de datos a otro.

  • Funciones definidas por el usuario.

En general, si conoce las funciones disponibles de la base de datos, puede utilizar los nombres de las funciones y la sintaxis admitidos por la base de datos. En algunos casos, como cuando se crea una vista, un procedimiento almacenado o un desencadenador, por ejemplo, deberá utilizar la sintaxis y los nombres de función específicos de la base de datos.

El Diseñador de consultas y vistas le ayuda a trabajar con funciones de la siguiente manera:

  • Insertando correctamente las comillas en los argumentos de función.

  • Validando los tipos de datos de los argumentos.

  • Validando los tipos de datos de los valores devueltos.

Para obtener información detallada sobre las funciones admitidas por la base de datos, consulte la documentación de la misma

Nota

Puede utilizar un conjunto de funciones especiales, las funciones de agregado, como SUM( ) y AVG( ), para crear consultas de resumen de datos.Para obtener información detallada, vea Resumir los resultados de una consulta.

Funciones de cadena

Las funciones siguientes para manipular las cadenas de caracteres proporcionan un muestreo de las que están disponibles en muchas bases de datos.

Función

Descripción

Ejemplo

LCASE( )*,  LOWER( )

Convierte las cadenas a minúsculas.

Para poner en mayúsculas el primer carácter, use:

  • SELECT UPPER(substring(lname, 1, 1))

Para poner el resto de los caracteres en minúscula, use:

  • LOWER(substring (lname, 2, 99))

FROM employee

Muestra un apellido después de convertir a mayúsculas el primer carácter y a minúsculas el resto de los caracteres.

LTRIM( )

Quita los espacios iniciales de una cadena.

SELECT stor_name, LTRIM(stor_address)
FROM stores

Muestra una columna de dirección después de quitar los espacios iniciales.

SUBSTRING( )

Extrae uno o más caracteres de una cadena.

SELECT SUBSTRING(phone,1,3)
FROM employee

Muestra los tres primeros caracteres (el código de área) de un número de teléfono.

UCASE( )*,  UPPER( )

Convierte las cadenas a mayúsculas.

SELECT * FROM employee
WHERE UPPER(lname) = 'SMITH'

Convierte el contenido de la columna lname en mayúsculas antes de compararlo con un valor específico para evitar coincidencias erróneas si la búsqueda distingue entre mayúsculas y minúsculas.

*  Si la llamada es como una función ODBC, use la sintaxis siguiente: { fn LCASE(text) }.

Funciones de fecha

Las funciones siguientes (u otras similares) están disponibles en muchas bases de datos.

Función

Descripción

Ejemplo

DATEDIFF( )

Calcula un intervalo entre dos fechas.

SELECT fname, lname, hire_date
FROM employee
WHERE DATEDIFF(year, hire_date, getdate()) > 5

Busca todos los empleados con una antigüedad de más de cinco años.

DATEPART( )

Devuelve la parte especificada de una columna de fecha o de fecha y hora, incluidos el día, el mes o el año.

SELECT DATEPART(year, hire_date)
FROM employee

Sólo muestra el año en que se contrató a un empleado (no la fecha completa).

CURDATE( )*,  GETDATE( ) o DATE( )

Devuelve la fecha actual en formato de fecha y hora. Esta función es útil como entrada para muchas otras funciones de fecha, como una función que calcule un intervalo desde la fecha actual hacia delante o hacia atrás.

SELECT order_id
FROM orders
WHERE order_date = GETDATE()
Displays orders placed today.

Funciones matemáticas

La mayoría de las bases de datos proporcionan algunas funciones matemáticas que puede utilizar al hacer cálculos. Las funciones siguientes suelen estar disponibles en muchas bases de datos.

Nota

Puede utilizar las funciones de agregado AVG( ), COUNT( ), MAX( ), MIN( ) y SUM( ) para crear promedios y totales en el informe.

Función

Descripción

Ejemplo

ROUND( )

Redondea un número al número de decimales especificado.

SELECT ROUND(qty * (price * discount), 2)
FROM sales

Muestra un precio total basado en un descuento y después redondea el resultado a dos decimales.

FLOOR( )

Redondea un número al número entero anterior más cercano.

UPDATE titles
SET price = FLOOR(price)

Redondea hacia abajo todos los precios de la tabla titles al número entero más cercano.

CEILING( )

Redondea un número al entero posterior más cercano.

INSERT INTO archivetitle
SELECT title, CEILING(price)
FROM titles

Copia los valores de title y price (redondeados hacia arriba al entero más cercano) de la tabla titles a la tabla archivetitle.

Funciones del sistema

La mayoría de las bases de datos ofrecen funciones especiales que puede utilizar para obtener información sobre la base de datos actual, el usuario actual o el servidor. Las funciones siguientes suelen estar disponibles en muchas bases de datos.

Función

Descripción

Ejemplo

DATALENGTH( )

Devuelve el número de bytes utilizados por la expresión especificada.

SELECT DATALENGTH(au_lname)
FROM authors

Muestra el número de bytes necesarios para el nombre y el apellido.

USER( )*,  USER_NAME( )

Devuelve el nombre del usuario actual.

SELECT company_name, city, phone
FROM customers
WHERE salesperson = USER_NAME()

Crea una lista de clientes para el vendedor que ejecuta la consulta.

Otras funciones

Además de las funciones mostradas anteriormente, algunas bases de datos proporcionan otras funciones para crear consultas, como la de conversión de tipo de datos y otras funciones útiles. Las siguientes funciones muestran el tipo de utilidades disponibles en muchas bases de datos.

Función

Descripción

Ejemplo

CONVERT( )

Cambia el tipo de datos de un conjunto de datos. Es útil para dar formato a los datos o para utilizar el contenido de una columna de datos como argumento de una función que requiere un tipo de datos distinto.

SELECT 'Hired: ' + CONVERT(char (11),
  hire_date)
FROM employee

Muestra una fecha con una leyenda delante; la función CONVERT( ) crea una cadena a partir de la fecha para poder concatenarla con una cadena literal.

SOUNDEX( )

Devuelve el código Soundex para la expresión especificada, que puede utilizar para realizar búsquedas del tipo "parecido a".

SELECT au_lname, au_fname
FROM authors
WHERE SOUNDEX(au_fname) = 'M240'

Busca nombres parecidos a "Michael".

STR( )

Convierte datos numéricos en una cadena de caracteres para que la pueda manipular con operadores de texto.

SELECT str(job_id)
FROM employee

Muestra la columna job_id como una única cadena.

Vea también

Referencia

Estructura de las expresiones

Conceptos

Expresiones en consultas

Otros recursos

Realizar consultas con parámetros