FUNCIONES SQL SERVER 2005 2009
--.-FUNCIONES
FUNCIONES DE CADENAS:
LOWER (cad):
Devuelve la cadena "cad" en minúsculas
minúsculas.
--EJEMPLO:
SELECT LOWER('LIMA') AS CIUDAD
UPPER (cad):
Devuelve la cadena "cad" en mayúsculas
mayúsculas.
--EJEMPLO:
SELECT UPPER ('lima') AS CIUDAD
LTRIM (cad [,set]):
Suprime un conjunto de caracteres a la izquierda de la cadena
cadena.
--EJEMPLO:
SELECT LTRIM(' SAM')AS
AS [JEFE DE LABORATORIO 10]
RTRIM (cad [,set])= Suprime un conjunto de caracteres a la derecha de la
cadena.
--EJEMPLO:
SELECT RTRIM('SAM ') AS [JEFE DE LABORATORIO 10]
1 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
REPLACE (cad, cadena_busqueda [, cadena_sustitucion]
cadena_sustitucion]):
Sustituye un carácter o caracteres de una cadena con 0 o mas caracteres.
caracteres
--EJEMPLO:
- ANTES
SELECT CITY FROM CUSTOMERS
- DESPUES
SELECT REPLACE(CITY,'Aachen'
'Aachen','LIMA')AS CIUDAD FROM CUSTOMERS
REVERSE(cadena):
Devuelve la cadena invirtiendo el orden de los caracteres
--EJEMPLO:
SELECT REVERSE('SAM')AS [JEFE DE LABORATORIO 10]
STUFF(cadena1,inicio,cantidad
cantidad,cadena2):
Inserta la cadena enviada como cuarto argumento
argumento, en la posición indicada
en el segundo argumento,
, reemplazando la cantidad de caracteres indicada
por el tercer argumento en la cadena que es primer parámetro
parámetro.Stuff
Stuff
significa rellenar en inglés
inglés.
--EJEMPLO:
SELECT STUFF('ABCDE',3,2
2,'LIMA') AS EJEMPLO
2 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
LEN(cadena):
Retorna la longitud de la cadena enviada como argumento.
"len" viene de length, que significa longitud en inglés.
--EJEMPLO:
SELECT LEN('SAM') AS [CANTIDA DE CARACTERES]
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 SUBSTRING('LA
'LA MOLINA'
MOLINA',3,7) AS DISTRITO
CHAR(x):
Retorna un caracter en código ASCII del entero enviado como argumento.
argumento
--EJEMPLO:
SELECT CHAR(65) AS CARÁCTER
ASCII(cad):
Devuelve el valor ASCII de la primera letra de la cadena "cad".
.
--EJEMPLO:
SELECT ASCII('E') AS CADENA
3 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
REPLICATE(cadena,cantidad
cantidad):
Repite una cadena la cantidad de veces especificada
especificada.
--EJEMPLO:
SELECT REPLICATE ('SAM',
,3) AS [VECES REPETIDAS]
SPACE(cantidad):
Retorna una cadena de espacios de longitud indicada por "cantidad",
"cantidad"
que debe ser un valor positivo
positivo.
--EJEMPLO:
SELECT 'SAM'+SPACE(1)+'JEFE
'JEFE DE LABORATORIO' AS [EJEMPLO]
CHARINDEX(subcadena,cadena
cadena,inicio):
Devuelve la posición donde comienza la subcadena en la cadena, comenzando
la búsqueda desde la posición indicada por "inicio"
"inicio". Si el tercer
argumento no se coloca, la búsqueda se inicia desde 0. Si no la
encuentra, retorna 0.
--EJEMPLO:
SELECT CHARINDEX('E','JEFE
'JEFE DE LABORATORIO'
LABORATORIO') AS EJEMPLO
SELECT CHARINDEX('E','JEFE
'JEFE DE LABORATORIO'
LABORATORIO',5) AS EJEMPLO
SELECT CHARINDEX('E','JEFE
'JEFE DE LABORATORIO'
LABORATORIO',10) AS EJEMPLO
4 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
PATINDEX(patron,cadena):
):
Devuelve la posición de comienzo (de la primera ocurrencia)
del patrón especificado en la cadena enviada como segundo argumento.
argumento Si
no la encuentra retorna 0.
--EJEMPLO:
SELECT PATINDEX('%Luis%'
'%Luis%', 'Jorge Luis Borges') AS EJEMPLO
SELECT PATINDEX('%or%', 'Jorge Luis Borges') AS EJEMPLO
SELECT PATINDEX('%ar%', 'Jorge Luis Borges') AS EJEMPLO
RIGHT(cadena,longitud):
Retorna la cantidad (longitud
longitud) de caracteres de la cadena comenzando
desde la derecha, último caracter
caracter.
--EJEMPLO:
SELECT RIGHT('HOLA SAM',
,3) AS EJEMPLO
LEFT(cadena,longitud):
Retorna la cantidad (longitud
longitud) de caracteres de la cadena comenzando
desde la izquierda, primer caracter
caracter.
--EJEMPLO:
SELECT LEFT('HOLA SAM',4
4)AS EJEMPLO
5 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
--FUNCIONES
FUNCIONES DE AGREGADO:
AVG(n):
Calcula el valor medio de "n" ignorando los valores nulos
nulos.
--EJEMPLO:
SELECT AVG(UNITPRICE)AS PROMEDIO FROM PRODUCTS
COUNT (* | Expresión):
Cuenta el numero de veces que la expresión evalúa algún dato
con valor no nulo. La opción "*" cuenta todas las filas seleccionadas
seleccionadas.
--EJEMPLO:
SELECT COUNT(*) AS [CANTIDAD DE CLIENTES] FROM CUSTOMERS
MAX (expresión):
Calcula el máximo.
--EJEMPLO:
SELECT MAX(UNITPRICE)AS [MAXIMO PRECIO] FROM PRODUCTS
6 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
MIN (expresión):
Calcula el mínimo.
--EJEMPLO:
SELECT MIN(UNITPRICE)AS [MINIMO PRECIO] FROM PRODUCTS
SUM (expresión):
Obtiene la suma de los valores de la expresión
expresión.
--EJEMPLO:
SELECT SUM(UNITPRICE)AS [SUMA TOTAL DE PRECIOS] FROM PRODUCTS
ROUND (expresion,Nrodecimal
Nrodecimal):
Devuelve un valor numérico
numérico, redondeado a la longitud o precisión
especificadas.
--EJEMPLO:
SELECT ROUND(AVG(UNITPRICE
UNITPRICE),2)AS [PROMEDIO REDONDEADO] FROM PRODUCTS
CAST (expresion AS tipo dato
dato):
Convierte una expresión de un tipo de datos en otro
otro.
--EJEMPLO:
SELECT 'HOY ES:'+SPACE(1
1)+ CAST(DAY(GETDATE()) AS CHAR(2)) as Dias
7 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
CONVERT (expresion,tipo
tipo dato
dato):
Convierte una expresión de un tipo de datos en otro
otro.
--EJEMPLO:
SELECT 'El Dia'+SPACE(1)+
)+ CONVERT(CHAR(2),DAY(GETDATE())) as Dias
--FUNCIONES
FUNCIONES DE FECHA:
-PARA
PARA COMPROVAR EN QUE LENGUAJE ESTA
select @@language
-CAMBIANDO
CAMBIANDO EL LENGUAJE A ESPAÑOL
SET LANGUAGE SPANISH
-CAMBIANDO
CAMBIANDO AL FORMATO DIA
DIA/MES/AÑO
SET DATEFORMAT DMY
GETDATE :
Devuelve la fecha y hora actuales del sistema en el formato interno
estándar de
SQL Server 2005 para los valores datetime.
--EJEMPLO:
SELECT GETDATE() [FECHA
[FECHA-HORA SISTEMA]
MONTH (expresion):
Devuelve un entero que representa el mes de date especificado.
--EJEMPLO:
SELECT MONTH(GETDATE()) AS [MES]
8 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
DAY (expresion):
Devuelve un entero que representa el día (día del mes) de la date
especificada.
--EJEMPLO:
SELECT DAY(GETDATE()) AS [DIA]
YEAR (expresion):
Devuelve un entero que representa la parte del año de la date
especificada.
--EJEMPLO:
SELECT YEAR(GETDATE()) AS [AÑO]
DATENAME (datepart,dato)
)
Devuelve una cadena de caracteres que representa
el Datepart especificado de la fecha especificada
especificada.
--EJEMPLO:
SELECT DISTINCT DATENAME
DATENAME(WEEKDAY,GETDATE()) AS DIA
SELECT DISTINCT DATENAME
DATENAME(MONTH,GETDATE()) AS MES
9 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
SELECT DISTINCT DATENAME(HOUR,GETDATE()) AS HORAS
SELECT DISTINCT DATENAME(MINUTE,GETDATE()) AS MINUTOS
SELECT DISTINCT DATENAME(SECOND,GETDATE()) AS SEGUNDOS
SELECT DISTINCT DATENAME(MILLISECOND,GETDATE()) AS MILESEGUNDOS
DATEPART (dateparT, dato ):
Devuelve un entero que representa el parámetro datepart
especificado del parámetro date especificado.
--EJEMPLO:
SELECT DISTINCT DATEPART(DAY,GETDATE()) AS DIA
SELECT DISTINCT DATEPART(MONTH,GETDATE()) AS MES
SELECT DISTINCT DATEPART(HOUR,GETDATE()) AS HORAS
SELECT DISTINCT DATEPART(MINUTE,GETDATE()) AS MINUTOS
SELECT DISTINCT DATEPART(SECOND,GETDATE()) AS SEGUNDOS
SELECT DISTINCT DATEPART(MILLISECOND,GETDATE()) AS MILESEGUNDOS
Datepart Abreviaturas
year yy, yyyy
month mm, m
day dd, d
weekday dw
hour hh
minute mi, n
Ss
second
,s
millisecond ms
10 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO
FUNCIONES SQL SERVER 2005 2009
DATEDIFF (datepart,dato1,dato2)
Devuelve el número de límites de fecha y hora entre dos fechas
especificadas.
Parámetro que especifica la parte de la fecha que se va a comparar y para
la que
se devuelve un valor.
-dato1:
Fecha de inicio del intervalo.
-dato2:
Fecha de finalización del intervalo.
--EJEMPLO:
SELECT DATEDIFF(YEAR, '02/10/2000','02/10/2009')
SELECT DATEDIFF(MONTH, '02/10/2000','02/10/2009')
SELECT DATEDIFF(DAY, '02/10/2000','02/10/2009')
SELECT DATEDIFF(HOUR,'10:40:08','23:59:59')
SELECT DATEDIFF(MINUTE,'10:40:08','23:59:59')
SELECT DATEDIFF(SECOND,'10:40:08','23:59:59')
11 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO