funciones sql server 2005

11

Click here to load reader

Upload: mariano-perez

Post on 08-Nov-2014

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

1 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

--.- FUNCIONES DE CADENAS: LOWER ( cad ): Devuelve la cadena "cad" en minúsculas --EJEMPLO: SELECT LOWER( 'LIMA' ) AS

UPPER ( cad ): Devuelve la cadena "cad" en mayúsculas --EJEMPLO: SELECT UPPER ( 'lima' ) AS

LTRIM ( cad [,set] ): Suprime un conjunto de caracteres a la izquierda de la cadena --EJEMPLO: SELECT LTRIM( ' SAM' ) AS

RTRIM ( cad [,set] )= Suprime un conjunto de caracteres a la derecha de l a cadena . --EJEMPLO: SELECT RTRIM( 'SAM ' ) AS

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

FUNCIONES DE CADENAS:

Devuelve la cadena "cad" en minúsculas .

CIUDAD

Devuelve la cadena "cad" en mayúsculas .

AS CIUDAD

Suprime un conjunto de caracteres a la izquierda de la cadena .

AS [JEFE DE LABORATORIO 10]

Suprime un conjunto de caracteres a la derecha de l a

AS [JEFE DE LABORATORIO 10]

2009

Suprime un conjunto de caracteres a la derecha de l a

Page 2: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

2 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

REPLACE ( cad , cadena_busqueda [, cadena_sustitucion] Sustituye un carácter o caracteres de una cadena co n 0 o mas --EJEMPLO: - ANTES SELECT CITY FROM CUSTOMERS

- DESPUES

SELECT REPLACE( CITY, 'Aachen'

REVERSE( cadena ): Devuelve la cadena invirtiendo el orden de los cara cteres --EJEMPLO: SELECT REVERSE( 'SAM' ) AS

STUFF( cadena1 , inicio , cantidad Inserta la cadena enviada como cuarto argumentoen el segundo argumento ,por el tercer argumento en la cadena que es primer parámetrosignifica rellenar en inglés --EJEMPLO: SELECT STUFF( 'ABCDE' , 3, 2

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

cadena_busqueda [, cadena_sustitucion] ):

Sustituye un carácter o caracteres de una cadena co n 0 o mas caracteres

CUSTOMERS

'Aachen' , 'LIMA' ) AS CIUDAD FROM CUSTOMERS

Devuelve la cadena invirtiendo el orden de los cara cteres

[JEFE DE LABORATORIO 10]

cantidad , cadena2 ):

Inserta la cadena enviada como cuarto argumento , en la posición indicada , reemplazando la cantidad de caracteres indicada

por el tercer argumento en la cadena que es primer parámetro . Stuffsignifica rellenar en inglés .

2, 'LIMA' ) AS EJEMPLO

2009

caracteres .

en la posición indicada reemplazando la cantidad de caracteres indicada

Stuff

Page 3: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

3 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

LEN( cadena ): Retorna la longitud de la "len" viene de length , --EJEMPLO: SELECT LEN( 'SAM' ) AS [CANTIDA DE CARACTERES]

SUBSTRING( cadena , inicio , 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 i ndica el tercer argumento . --EJEMPLO: SELECT SUBSTRING( 'LA MOLINA'

CHAR( x): Retorna un caracter en código --EJEMPLO: SELECT CHAR( 65) AS CARÁCTER

ASCII ( cad ): Devuelve el valor ASCII --EJEMPLO: SELECT ASCII ( 'E' ) AS CADENA

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

Retorna la longitud de la cadena enviada como argumento . que significa longitud en inglés .

[CANTIDA DE CARACTERES]

, longitud ):

Devuelve una parte de la cadena especificada empezando desde la posición especificada por el

argumento y de tantos caracteres de longitud como i ndica el tercer

'LA MOLINA' , 3, 7) AS DISTRITO

Retorna un caracter en código ASCII del entero enviado como argumento

CARÁCTER

de la primera letra de la cadena "cad" .

CADENA

2009

empezando desde la posición especificada por el

argumento y de tantos caracteres de longitud como i ndica el tercer

del entero enviado como argumento .

.

Page 4: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

4 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

REPLICATE( cadena , cantidad Repite una cadena la cantidad de veces especificada --EJEMPLO: SELECT REPLICATE ( 'SAM' ,

SPACE( cantidad ): Retorna una cadena de espacios de longitud indicada por "cantidad"que debe ser un valor positivo --EJEMPLO: SELECT 'SAM' +SPACE( 1)+ 'JEFE DE LABORATORIO'

CHARINDEX( subcadena , cadena Devuelve la posición donde comienza la subcadenala búsqueda desde la posición indicada por "inicio"argumento no se coloca , encuentra , retorna 0. --EJEMPLO: SELECT CHARINDEX( 'E' , 'JEFE DE LABORATORIO'

SELECT CHARINDEX( 'E' , 'JEFE DE LABORATORIO'

SELECT CHARINDEX( 'E' , 'JEFE DE LABORATORIO'

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

cantidad ):

cantidad de veces especificada .

, 3) AS [VECES REPETIDAS]

Retorna una cadena de espacios de longitud indicada por "cantidad"que debe ser un valor positivo .

'JEFE DE LABORATORIO' AS [EJEMPLO]

cadena , inicio ):

Devuelve la posición donde comienza la subcadena en la cadena , la búsqueda desde la posición indicada por "inicio" . Si el tercer

la búsqueda se inicia desde 0. Si no la

'JEFE DE LABORATORIO' ) AS EJEMPLO

'JEFE DE LABORATORIO' , 5) AS EJEMPLO

'JEFE DE LABORATORIO' , 10) AS EJEMPLO

2009

Retorna una cadena de espacios de longitud indicada por "cantidad" ,

comenzando Si el tercer

la

Page 5: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

5 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

PATINDEX( patron , cadena ): Devuelve la posición de comienzo del patrón especificado en la cadena enviada como s egundo argumentono la encuentra retorna 0. --EJEMPLO: SELECT PATINDEX( '%Luis%'

SELECT PATINDEX( '%or%' ,

SELECT PATINDEX( '%ar%' ,

RIGHT( cadena , longitud ): Retorna la cantidad ( longituddesde la derecha , último caracter --EJEMPLO: SELECT RIGHT( 'HOLA SAM' ,

LEFT( cadena , longitud ): Retorna la cantidad ( longituddesde la izquierda , primer caracter --EJEMPLO: SELECT LEFT( 'HOLA SAM' , 4

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

):

Devuelve la posición de comienzo ( de la primera ocurrencia ) del patrón especificado en la cadena enviada como s egundo argumento

la encuentra retorna 0.

'%Luis%' , 'Jorge Luis Borges' ) AS EJEMPLO

'Jorge Luis Borges' ) AS EJEMPLO

'Jorge Luis Borges' ) AS EJEMPLO

longitud ) de caracteres de la cadena comenzando último caracter .

, 3) AS EJEMPLO

longitud ) de caracteres de la cadena comenzandoprimer caracter .

4) AS EJEMPLO

2009

del patrón especificado en la cadena enviada como s egundo argumento . Si

de caracteres de la cadena comenzando

de caracteres de la cadena comenzando

Page 6: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

6 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

-- FUNCIONES DE AGREGADO: AVG( n): Calcula el valor medio de "n" ignorando los valores nulos --EJEMPLO: SELECT AVG( UNITPRICE) AS

COUNT (* | Expresión ): Cuenta el numero de veces que la expresión evalúa a lgún dato con valor no nulo . La opción "*" cuenta todas las filas seleccionadas --EJEMPLO: SELECT COUNT(*) AS [CANTIDAD DE CLIENTES]

MAX ( expresión ): Calcula el máximo . --EJEMPLO: SELECT MAX( UNITPRICE) AS

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

FUNCIONES DE AGREGADO:

Calcula el valor medio de "n" ignorando los valores nulos .

PROMEDIO FROM PRODUCTS

Cuenta el numero de veces que la expresión evalúa a lgún dato La opción "*" cuenta todas las filas seleccionadas

[CANTIDAD DE CLIENTES] FROM CUSTOMERS

[MAXIMO PRECIO] FROM PRODUCTS

2009

La opción "*" cuenta todas las filas seleccionadas .

Page 7: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

7 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

MIN ( expresión ): Calcula el mínimo . --EJEMPLO: SELECT MIN( UNITPRICE) AS

SUM ( expresión ): Obtiene la suma de los valores de la expresión --EJEMPLO: SELECT SUM( UNITPRICE) AS

ROUND ( expresion , Nrodecimal Devuelve un valor numéricoespecificadas . --EJEMPLO: SELECT ROUND( AVG( UNITPRICE

CAST ( expresion AS tipo dato Convierte una expresión de un tipo de datos en otro --EJEMPLO: SELECT 'HOY ES:' +SPACE( 1

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

[MINIMO PRECIO] FROM PRODUCTS

Obtiene la suma de los valores de la expresión .

[SUMA TOTAL DE PRECIOS] FROM PRODUCTS

Nrodecimal ):

Devuelve un valor numérico , redondeado a la longitud o precisión

UNITPRICE), 2) AS [PROMEDIO REDONDEADO] FROM PRODUCTS

tipo dato ):

una expresión de un tipo de datos en otro .

1)+ CAST( DAY( GETDATE()) AS CHAR( 2)) as Dias

2009

redondeado a la longitud o precisión

PRODUCTS

Dias

Page 8: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

8 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

CONVERT ( expresion , tipo dato Convierte una expresión de un tipo de datos en otro --EJEMPLO: SELECT 'El Dia' +SPACE( 1)+

-- FUNCIONES DE FECHA: - PARA COMPROVAR EN QUE LENGUAJE ESTA select @@language - CAMBIANDO EL LENGUAJE A ESPAÑOL SET LANGUAGE SPANISH - CAMBIANDO AL FORMATO DIA 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 --EJEMPLO: SELECT GETDATE() [FECHA

MONTH ( expresion ): Devuelve un entero que representa el mes de date --EJEMPLO: SELECT MONTH( GETDATE())

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

tipo dato ):

Convierte una expresión de un tipo de datos en otro .

)+ CONVERT( CHAR( 2), DAY( GETDATE())) as Dias

FUNCIONES DE FECHA:

PARA COMPROVAR EN QUE LENGUAJE ESTA

CAMBIANDO EL LENGUAJE A ESPAÑOL

CAMBIANDO AL FORMATO DIA/ MES/ AÑO

Devuelve la fecha y hora actuales del sistema en el formato interno

2005 para los valores datetime .

[FECHA-HORA SISTEMA]

Devuelve un entero que representa el mes de date especificado .

AS [MES]

2009

Dias

Devuelve la fecha y hora actuales del sistema en el formato interno

Page 9: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

9 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

DAY ( expresion ): Devuelve un entero que representa el día especificada . --EJEMPLO: SELECT DAY( GETDATE()) AS

YEAR ( expresion ): Devuelve un entero que representa la parte del año de la date especificada . --EJEMPLO: SELECT YEAR( GETDATE())

DATENAME ( datepart , dato ) Devuelve una cadena de caracteres que representa el Datepart especificado de la fecha especificada --EJEMPLO: SELECT DISTINCT DATENAME

SELECT DISTINCT DATENAME

FUNCIONES SQL SERVER 2005

ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

Devuelve un entero que representa el día ( día del mes ) de la date

AS [DIA]

representa la parte del año de la date

AS [AÑO]

)

Devuelve una cadena de caracteres que representa especificado de la fecha especificada .

DATENAME( WEEKDAY, GETDATE()) AS DIA

DATENAME( MONTH, GETDATE()) AS MES

2009

de la date

Page 10: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

10 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

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

second Ss

, s

millisecond ms

Page 11: Funciones SQL Server 2005

FUNCIONES SQL SERVER 2005

11 ASISTENTE DE LABORATORIO:RICHARD NAJARRO TALAVERANO

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 s e 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' )