Funciones escalares de Transact SQL para expresiones (ADP)

 Nota   La información recogida en este tema sólo se aplicará a proyectos de Microsoft Access (.adp).

MostrarIntroducción a las funciones escalares

Cuando cree una expresión, puede ejecutar una serie de funciones escalares, incluidas:

  • Funciones de cadena (carácter)
  • Funciones de fecha
  • Funciones matemáticas
  • Funciones de sistema
  • Otras funciones, como las que convierten un tipo de datos en otro

El Diseñador de consultas puede ayudarle con las funciones mediante:

  • La inserción correcta de comillas en los argumentos de la función
  • La validación de los tipos de datos de los argumentos
  • La validación de los tipos de datos de los valores devueltos

A continuación encontrará una lista de las funciones escalares más comunes. Para obtener una lista completa de las funciones escalares de SQL Server, consulte el tema de ayuda Funciones en la información de referencia de Transact SQL de la documentación de Microsoft SQL Server

 Nota    Además puede utilizar un conjunto especial de funciones, las funciones de agregado, tales como SUMA( ) y PROMEDIO( ), para crear consultas que resuman datos.

MostrarFunciones de cadena

Función Descripción Ejemplo
LCASE( ),
LOWER( )
Convierte cadenas a minúsculas
SELECT UPPER(substring(lname, 1, 1)) + 
 LOWER(substring (lname, 2, 99))
FROM employee

                     

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

RECORTARIZQ( ) Quita los espacios a la izquierda de una cadena
SELECT stor_name, LTRIM(stor_address)
FROM stores
                     

Muestra una columna de dirección después de quitar espacios extraños de la parte anterior.

SUBSTRING( ) Extrae uno o más caracteres de una cadena
SELECT SUBSTRING(phone,1,3)
FROM employee
                     

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

MAYÚS( ),
UPPER( )
Convierte cadenas a mayúsculas
SELECT * FROM employee
WHERE UPPER(lname) = 'SMITH'
                     

Convierte el contenido de la columna apellidos a mayúsculas antes de compararla con valores específicos (evita coincidencias erróneas si la búsqueda distingue entre mayúscula y minúsculas).

MostrarFunciones de fecha

Función Descripción Ejemplo
DIFFECHA( ) Calcula el intervalo entre dos fechas.
SELECT fname, lname, hire_date
FROM employee
WHERE DATEDIFF(year, hire_date, getdate()) > 5
                     

Busca todos los empleados contratados hace más de cinco años.

PARCFECHA( ) Devuelve la parte específica de una columna datetime o de fecha, incluidos el día, mes y año.
SELECT DATEPART(year, hire_date)
FROM employee
                     

Muestra sólo el año en el que se contrató al empleado (no la fecha completa).

CURDATE( ),
GETDATE( )
o FECHA( )
Devuelve la fecha actual con formato datetime. Esta función resulta útil como entrada para otras muchas funciones de fecha, por ejemplo el cálculo de un intervalo anterior o posterior a la fecha actual.
SELECT order_id
FROM orders
WHERE order_date = GETDATE()
Displays orders placed today.
                     

MostrarFunciones matemáticas

 Nota    Puede utilizar también funciones de agregado, tales como PROMEDIO( ), CUENTA( ), MÁX( ), MÍN( ) y SUMA( ) para crear promedios y totales del informe.

Función Descripción Ejemplo
REDONDEAR( ) Redondea una cifra al número especificado de posiciones decimales
SELECT ROUND(qty * (price * discount), 2)
FROM sales
                     

Muestra un precio total basado en un descuento, a continuación redondea el resultado a dos posiciones decimales.

FLOOR( ) Redondea una cifra al número entero más cercano y pequeño
UPDATE titles
SET price = FLOOR(price)
                     

Redondea todos los precios de la tabla títulos al número entero más cercano por debajo.

CEILING( ) Redondea una cifra al número entero más cercano por encima
INSERT INTO archivetitle
SELECT title, CEILING(price)
FROM titles

                     

Copia el título y el precio (redondeado al número entero más cercano por encima) de la tabla títulos a la tabla títulodearchivo.

MostrarFunciones de sistema

Función Descripción Ejemplo
DATALENGTH( ) Devuelve el número de bytes que utiliza la expresión específica.
SELECT DATALENGTH(au_lname + ', ' 
 + au_fname)
FROM authors

                     

Ofrece un listado del número de bytes necesario para la combinación del nombre y el apellido.

USER( ),
USER_NAME( )

Devuelve el nombre del usuario actual

Seguridad  Utilice esta función con precaución: podría revelar datos importantes o confidenciales a otros usuarios.

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

Crea una lista de los clientes del vendedor que ejecuta la consulta.

MostrarOtras funciones

Función Descripción Ejemplo
CONVERT( ) Convierte un tipo de datos en otro. Resulta útil para dar formato a 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 un título delante; la función CONVERT( ) crea una cadena a partir de la fecha de modo que puede concatenarse con una cadena literal.

SOUNDEX( ) Devuelve el código Soundex de la expresión especificada que se utiliza para crear búsquedas que "suenen como".
SELECT au_lname, au_fname
FROM authors
WHERE SOUNDEX(au_fname) = 'M240'
                     

Busca nombres que suenen como "Michael".

CAD( ) Convierte datos numéricos en una cadena de caracteres de modo que puedan manipularse con operadores de texto.
SELECT str(job_id) + ' ' + 
 str(job_lvl)
FROM employee
                     

Muestra las columnas idtarea y nivel (ambas numéricas) en una sola cadena.

 
 
Corresponde a:
Access 2003