labor at or ion sql

13
  Prof.: Cueva Valverde Diego Alberto - Instructor en T I [email protected]    C    a    p     í    t    u     l    o     I    I    I        F    u    n    c    i    o    n    e    s     d    e     l    T    r    a    n    s    a    c    t      S    Q    L  1 Desarrollo de Base De Datos con Microsoft SQL SERVER 2005 Objetivos:  Función host_name.  Función db_name.  Función APP_NAME.  Función count.  Función AVG.  Función Sum.  Función Max.  Función Min.  Función Isnull. P Pr resent ta c ci ó ón  d del  C Ca s s o o a a  E Est tud dia r r  Microsoft® SQL Server™ dispone de funciones integradas para realizar ciertas operaciones rápidas y fácilmente. Las categorías en que se dividen las funciones son:  Funciones del Sistema.  Funciones de Conversión.  Funciones de agregado.  Funciones de cursores.  Funciones de fecha y hora.  Función matemática.  Funciones de metadatos.  Funciones de conjuntos de filas.  Funciones de seguridad.  Funciones de cadena.  Funciones de estadísticas del sistema.  Funciones de texto e imagen. F F u u n n c c i i o o n n e e s s  T T r r a a n n s s a a c c t t  - -  S S Q Q L L 

Upload: johan-antonio-ocana-gutierrez

Post on 19-Jul-2015

87 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 1/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

Objetivos:

  Función host_name.

  Función db_name.

  Función APP_NAME.

  Función count.

  Función AVG.

  Función Sum.

  Función Max.

  Función Min.

  Función Isnull.

PPrreesseennttaacciióónn ddeell CCaassoo aa EEssttuuddiiaarr 

Microsoft® SQL Server™ dispone de funciones

integradas para realizar ciertas operaciones

rápidas y fácilmente. Las categorías en que se

dividen las funciones son:

  Funciones del Sistema. 

  Funciones de Conversión.  Funciones de agregado. 

  Funciones de cursores.

  Funciones de fecha y hora.

  Función matemática.

  Funciones de metadatos.

  Funciones de conjuntos de filas.

  Funciones de seguridad.

  Funciones de cadena.

  Funciones de estadísticas del sistema.

  Funciones de texto e imagen.

FF

uu

nn

cc

iioo

nn

ee

ss

TT

rraa

nn

ssaa

cc

tt

--

SS

Q Q 

LL 

Page 2: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 2/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

FFUUNNCCIIOONNEESS DDEE SSIISSTTEEMMAA 

Las funciones del sistema permiten que tenga acceso a la información de las tablas del sistema de

Microsoft® SQL Server™ sin tener acceso directamente a las tablas del sistema.

Este grupo de cinco pares de funciones del sistema para bases de datos, hosts, objetos, inicios de sesión y

usuarios devuelven un nombre cuando se les proporciona un identificador y devuelven un identificador

cuando se les proporciona un nombre:

Estas funciones ofrecen una forma fácil de convertir un nombre a un identificador, y un identificador a un

nombre. Por ejemplo, use la función DB_ID para obtener un número de Id. De base de datos en lugar de

ejecutar una instrucción SELECT de la tabla sysobjects.

-  HOST_NAME Recupera el nombre del Servidor. 

select HOST_NAME() as [Nombre del Servidor] 

-  DB_NAME () recupera el nombre de la base de datos actual. 

select DB_NAME () as [Base de Datos Actual]

-  USER_NAME () recupera el nombre del usuario actual conectado.

SELECT user_NAME ()as [Usuario Conectado]

-  APP_NAME () Devuelve el nombre de la aplicación actual

Select app_name () as [Nombre de la aplicación]

-  DATALENGTH (Expresión) Devuelve un entero que es numero de bites necesarios para

representar esa expresión int

Select datalength ('Diego') as [Numero de bites]

-  ISDATE (Expresión) Dice si la expresión es una fecha o no. Devuelve 1 si la expresión es una

fecha y 0 si no es una fecha.

Page 3: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 3/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

Select isdate ('15/07/08') as [Validación Fecha]

-  ISNUMERIC (Expresion) Dice si la expresión es un numero o no. Devuelve 1 si la expresión es

un número y 0 si la expresión no es número.

Select isnumeric ('ddd') as [Validacion Numero]

-  ISNULL (Expresión , Expresión Devuelta) Si la expresión es nula te devuelve la Expresión

Devuelta y si no devuelve la primera Expresión

Select isnull (null,'No nulo') as [Es Nulo]

-  SYSTEM_USER

Devuelve el usuario del sistema actual

Depende de la autentificación con la que te hayas conectado

Select system_user as [Usuario conectado]

UTILIZAR FUNCIONES MATEMÁTICAS

Una función matemática realiza una operación matemática en expresiones numéricas y devuelve el

resultado de la operación. Las funciones matemáticas operan sobre datos numéricos suministrados por el

sistema Microsoft SQL Server (decimal, integer, float, real, money, smallmoney, smallint y tinyint). La

precisión de las operaciones integradas para el tipo de datos float es, de forma predeterminada, de seis

lugares decimales.

ROUND

Devuelve una expresión numérica, redondeada a la longitud o precisión especificada.

Sintaxis

ROUND (numero, longitud)

Page 4: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 4/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

Ejemplos Resultado

ROUND(748.58, -1) 750.00

ROUND(748.58, -2) 700.00

ROUND(748.58, -3) 1000.00

ROUND(123.4545, 2) 123.4500

ROUND(123.45, -2) 100.00CCEEIILLIINNGG 

Devuelve un número entero más pequeño mayor o igual que la expresión numérica dada.  

Sintaxis

CEILING (expressionNumerica)

Este ejemplo muestra valores numéricos positivos, negativos y cero con la función CEILING.

SELECT CEILING($123.45), CEILING($-123.45), CEILING($0.0) 

FFLLOOOORR 

Devuelve el número entero más grande menor o igual que la expresión numérica dada.

Sintaxis

FLOOR ( expresionNumerica )

Este ejemplo muestra valores numéricos positivos, negativos y valores de moneda con la función FLOOR.

SELECT FLOOR(123.45), FLOOR(-123.45), FLOOR($123.45) 

PPOOWWEERR 

Devuelve el valor de la expresión indicada elevada a la potencia especificada.

Sintaxis

Power (Expresión numérica, Exponente)

Ejemplo elevar el valor 2 al cubo

SELECT POWER(2,3) 

Page 5: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 5/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

SSQ Q RRTT 

Devuelve la raíz cuadrada de la expresión especificada.

Sintaxis

Power (Expresión numérica)

--Se declara una variable de tipo FloatDECLARE @myvalue float --Se utiliza el Set, para asignar un valorSET @myvalue = 16--Se obtiene la raiz cuadrada de la variable

SELECT SQRT(@myvalue) 

UTILIZAR FUNCIONES DE TEXTOS

Estas funciones escalares realizan una operación sobre una cadena de entrada y devuelven un valor de

cadena o un valor numérico.

UPPER

Convierte de minúsculas a mayúsculas 

Sintaxis

UPPER (Expresión Texto)

Ejemplo.

En este ejemplo se utiliza la función UPPER para devolver el primer apellido del empleado concatenado con

el nombre.

Use poseidon

SELECT UPPER(NOMBRE) + ', ' + APELLIDOS AS NAME FROM EMPLEADOS ORDER BY APELLIDOS

Page 6: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 6/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

Lower

Convierte mayúsculas a minúsculas.

Sintaxis

LOWER ( expressionTexto ) 

Ejemplo.

Muestra los nombres de los clientes en minúsculas.

SELECT LOWER(NOMBRECOMPAÑíA) FROM CLIENTES

Left

Extrae caracteres empezando por el lado izquierdo de la cadena especificada como expresion de texto 

Sintaxis

Left (expressionTexto,numeroCaracteres ) 

Este ejemplo devuelve los cinco caracteres situados más a la izquierda de cada nombre del producto.

SELECT LEFT(NOMBREPRODUCTO, 5) FROM PRODUCTOS

Page 7: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 7/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

RRIIGGHHTT 

Extrae caracteres empezando por el lado derecho de la cadena de caracteres

Sintaxis: 

RIGHT ( e xpressionTexto , numeroCaracteres)

Este ejemplo devuelve los cinco caracteres situados más a la derecha de cada nombre del producto.

SELECT RIGHT (NOMBREPRODUCTO, 5) FROM PRODUCTOS

LLEENN 

Devuelve el número de caracteres de la expresión de cadena dada, excluidos los espacios finales en blanco.

Sintaxis:

LEN (expressionTexto)

Ejemplo:

SELECT NOMBREPRODUCTO, LEN (NOMBREPRODUCTO) AS TOTALCARACTERES FROM PRODUCTOS

Page 8: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 8/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

SSUUBBSSTTRRIINNGG 

Devuelve una parte de una expresión de caracteres

Sintaxis

SUBSTRING (expressionTexto, Posicion inicial, numeroCaracteres)

En el ejemplo siguiente se muestra cómo obtener parte de una cadena de caracteres. En la tabla

Empleados, esta consulta obtiene los apellidos en una columna y sólo la primera inicial en la segunda

columna.

SELECT nombre, SUBSTRING(Apellidos, 1, 1) FROM empleados ORDER BY Apellidos

RREEPPLLAACCEE 

Reemplaza por una tercera expresión todas las apariciones de la segunda expresión de cadena

proporcionada en la primera expresión de la cadena.

Sintaxis

REPLACE (‘expressionTexto1’, ‘expressionTexto2’, ‘expressionTexto3’)

En este ejemplo se reemplaza la cadena "cde" de "abcdefghi" por "xxx".

SELECT REPLACE('abcdefghicde','cde','xxx') 

SSPPAACCEE 

Devuelve una cadena de espacios repetidos.

Sintaxis

SPACE (expressionNumero)

Page 9: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 9/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

En el ejemplo siguiente se corta el apellido de cada cliente y se concatena una coma, dos espacios y su

nombre.

SELECT RTRIM(Nombre) + ',' + SPACE(2) + LTRIM(apellidos) FROM Empleados ORDER BY Nombre, Apellidos

CCHHAARR 

Una función de cadena que convierte un código ASCII int en un carácter.

Sintaxis

CHAR (expresionNumerica)

Este ejemplo utiliza CHAR (13) para imprimir la información de nombre, dirección y ciudad en líneas

separadas, cuando los resultados se devuelven en texto.

SELECT Nombre + ' ' + Apellidos, + CHAR(13) + Dirección, + CHAR(13) + Ciudad + País FROM EmpleadosWHERE IdEmpleado = 1

El siguiente es el conjunto de resultados:

RREEPPLLIICCAATTEE 

Repite una expresión de caracteres un número especificado de veces.

Sintaxis

REPLICATE (expressionTexto, numero Veces)

En este ejemplo se duplica el nombre de cada Empleado dos veces.

SELECT REPLICATE(Nombre, 2) FROM Empleados ORDER BY nombre

Page 10: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 10/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

10 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

SSTTRR 

Devuelve datos de tipo carácter obtenidos a partir de datos numéricos.

Sintaxis

STR (expresión Numérica)

En el ejemplo siguiente se convierte una expresión formada por cinco dígitos y un separador decimal en

una cadena de caracteres de seis posiciones. La parte fraccionaria del número se redondea a un lugar

decimal.

SELECT STR (123.45, 6, 1) 

FFUUNNCCIIOONNEESS DDEE CCOONNVVEERRSSIIOONN 

CCAASSTT yy CCOONNVVEERRTT 

Convierten una expresión de un tipo de datos en otro. CAST y CONVERT proporcionan funciones similares.

Este ejemplo concatena expresiones mediante la función de conversión de tipos de datos CAST.

Este ejemplo convierte una columna de tipo int (la columna idPedido) en una columna de tipo char(20) para

poder utilizarla en una cláusula LIKE.

Mostrar los pedidos cuyo el mes de la fechaPedido sea igual Agosto y el numero de pedido

empieze en los números 12.

Page 11: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 11/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

11 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

La function GetDate() devuelve la Fecha y la hora Actual en este formato.

Si desea obtener solo la fecha en formato Día Mes Año sin incluir la hora actual haga lo siguiente.

SELECT CONVERT(VARCHAR(8),GETDATE(),3) 

SELECT CONVERT(VARCHAR(10),GETDATE(),103) 

CCOOMMAANNDDOOSS SSEETT 

El lenguaje de programación Transact-SQL ofrece varias instrucciones SET que alteran el tratamiento deinformación de SQL SERVER.

Las instrucciones SET se dividen en las siguientes categorías.

Categoría Altera la configuración de la sesión actual para

Fecha y hora Tratar datos de fecha y hora.

Bloqueo Tratar el bloqueo en Microsoft SQL Server

Varias Diversa funcionalidad de SQL Server.

Ejecución de consultas Ejecutar y procesar consultas.

Valores de SQL-92 Utilizar la configuración predeterminada de SQL-92.

Estadísticas Presentar información estadística.

Transacciones Tratar transacciones de SQL Server.

SSEETT DDAATTEEFFIIRRSSTT 

Establece como primer día de la semana un número del 1 al 7.

Sintaxis:

SET DATEFIRST { number | @number_var }

Es un entero que indica el primer día de la semana y puede tener uno de los valores siguientes.

Page 12: Labor at or Ion SQL

5/16/2018 Labor at or Ion SQL - slidepdf.com

http://slidepdf.com/reader/full/labor-at-or-ion-sql 12/12

 

 

Prof.: Cueva Valverde Diego Alberto - Instructor en T I  [email protected] 

   C   a   p    í   t   u    l   o

    I   I

   I    –

   F   u   n   c   i   o   n   e   s    d   e    l   T   r   a   n   s   a   c   t  -   S   Q   L

 

12 

Desarrollo de Base De Datos con Microsoft SQL SERVER 2005

Valor Primer día de la semana:

1 Lunes

2 Martes

3 Miércoles

4 Jueves

5 Viernes

6 Sábado7 (predeterminado, Inglés EE.UU.) Domingo

Puede utilizar la función @@DATEFIRST para conocer el valor actual de SET DATEFIRST.

SELECT @@DATEFIRST.

SSEETT DDAATTEEFFOORRMMAATT 

Determina el orden de las partes de la fecha (mes/día/año) para escribir datos de tipo datetime o

smalldatetime.

Sintaxis

SET DATEFORMAT {format | @ format_var} 

Este valor sólo se utiliza en la interpretación de las cadenas de caracteres cuando se convierten en valores

de fecha. No tiene ningún efecto en la presentación de los valores de fecha.

En este ejemplo se usan distintos formatos de fecha para tratar cadenas de fecha con formatos diferentes.