labor at or ion sql
TRANSCRIPT
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
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.
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
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
2
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.
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
3
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)
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
4
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)
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
5
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
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
6
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
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
7
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
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
8
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)
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
9
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
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.
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.
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.