Funciones para El Manejo de Cadenas, Matematicas y de Fecha y Hora-2016
Funciones para El Manejo de Cadenas, Matematicas y de Fecha y Hora-2016
Funciones para El Manejo de Cadenas, Matematicas y de Fecha y Hora-2016
Una FUNCIÓN es un conjunto de sentencias que operan como una unidad lógica. Tienen un nombre, retornan un
parámetro de salida y opcionalmente acepta parámetros de entrada. Las funciones propias del SQL Server no pueden
ser modificadas, en tanto que las funciones definidas por el usuario si.
1) De agregado: realizan operaciones que combinan varios valores y retornan un único valor. Son "count", "sum", "min" y
"max".
2) Escalares: toman un solo valor y retornan un único valor. Pueden agruparse de la siguiente manera:
- De fecha y hora: operan con valores "datetime" y "smalldatetime". Reciben un parámetro de tipo fecha y hora y
retornan un valor de cadena, numérico o de fecha y hora.
- De cadena: operan con valores "char", "varchar", "nchar", "nvarchar", "binary" y "varbinary" y devuelven un
valor de cadena o numérico.
- Del sistema: informan sobre opciones, objetos y configuraciones del sistema. Ejemplo: select user_name();
- Texto e imagen: realizan operaciones con valor de entrada de tipo text o image y retornan información
referente al mismo.
Se pueden emplear las funciones del sistema en cualquier lugar en el que se permita una expresión en una sentencia
"select".
FUNCIONES PARA EL MANEJO DE CADENAS
Microsoft SQL Server tiene algunas funciones para trabajar con cadenas de caracteres. Estas son algunas:
- substring(cadena,inicio,longitud): devuelve una parte de la cadena especificada como primer argumento, empezando
desde la posición especificada por el segundo argumento y de tantos caracteres de longitud como indica el tercer
argumento. Ejemplo:
select str(123.456,7,3);
Si el segundo parámetro es menor a la parte entera del número, devuelve asteriscos (*).
Los argumentos numéricos deben ser positivos y menor o igual a la longitud de la primera cadena, caso contrario, retorna
"null".
Si el tercer argumento es mayor que la primera cadena, se elimina hasta el primer carácter.
- len(cadena): retorna la longitud de la cadena enviada como argumento. "len" viene de length, que significa longitud en
inglés. Ejemplo:
- char(x): retorna un caracter en código ASCII del entero enviado como argumento. Ejemplo:
- left(cadena,longitud): retorna la cantidad (longitud) de caracteres de la cadena comenzando desde la izquierda, primer
caracter. Ejemplo:
- right(cadena,longitud): retorna la cantidad (longitud) de caracteres de la cadena comenzando desde la derecha, último
caracter. Ejemplo:
-lower(cadena): retornan la cadena con todos los caracteres en minúsculas. lower significa reducir en inglés. Ejemplo:
select lower('HOLA ESTUDIAnte'); retorna "hola estudiante".
-ltrim(cadena): retorna la cadena con los espacios de la izquierda eliminados. Trim significa recortar. Ejemplo:
- patindex(patron,cadena): devuelve la posición de comienzo (de la primera ocurrencia) del patrón especificado en la
cadena enviada como segundo argumento. Si no la encuentra retorna 0. Ejemplos:
- space(cantidad): retorna una cadena de espacios de longitud indicada por "cantidad", que debe ser un valor positivo.
Ejemplo:
Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo caracter.
FUNCIONES MATEMÁTICAS
Las funciones matemáticas realizan operaciones con expresiones numéricas y retornan un resultado, operan con tipos de
datos numéricos.
Microsoft SQL Server tiene algunas funciones para trabajar con números. Aquí presentamos algunas.
-round(numero,longitud): retorna un número redondeado a la longitud especificada. "longitud" debe ser tinyint, smallint o
int. Si "longitud" es positivo, el número de decimales es redondeado según "longitud"; si es negativo, el número es
redondeado desde la parte entera según el valor de "longitud". Ejemplos:
select round(123.456,-1); retorna "120.000", redondea desde el primer valor entero (hacia la izquierda).
select round(123.456,-2); retorna "100.000’ redondea desde el segundo valor entero (hacia la izquierda).
SQL Server dispone de FUNCIONES TRIGONOMÉTRICAS que retornan radianes; entre las que podemos nombrar
(adjunto formatos, sin ejemplos demostrativos).
Radians Devuelve el número de radianes convertido a partir de los grados indicados en "expresión_numérica".
Sintaxis radians ( expresión_numérica )
select getdate();
- datepart(partedefecha,fecha): retorna la parte específica de una fecha, el año, trimestre, día, hora, etc.
Los valores para "partedefecha" pueden ser: year (año), quarter (cuarto), month (mes), day (dia), week (semana), hour
(hora), minute (minuto), second (segundo) y millisecond (milisegundo). Ejemplos:
- datename(partedefecha,fecha): retorna el nombre de una parte específica de una fecha. Los valores para
"partedefecha" pueden ser los mismos que se explicaron anteriormente. Ejemplos:
select datename(day,getdate());
- datediff(partedelafecha,fecha1,fecha2): calcula el intervalo de tiempo (según el primer argumento) entre las 2 fechas.
El resultado es un valor entero que corresponde a fecha2-fecha1. Los valores de "partedelafecha) pueden ser los mismos
que se especificaron anteriormente. Ejemplos:
Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo datetime o smalldatetime.
Referencias:
http://www-01.ibm.com/support/knowledgecenter/SSWGNW_10.1.0/
com.ibm.swg.im.cognos.ug_cr_rptstd.10.1.0.doc/ug_cr_rptstd_id55661sql_trig.html%23sql_trig?lang=es
https://msdn.microsoft.com/es-es/library/ms181984(v=sql.120).aspx
AS fondo SQL 2000. Mc Graw Hill, Kalen Delaney.
Manual SQL Server- Microsoft