Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parcial 3
Actividad 6 “Indagación de Funciones de Sistema”.
Por
Nombre de los alumnos):
U Carrera:
P Asignatura:
T
Nombre del Catedrático:
ISC 62
Sexto Cuatrimestre
Tulancingo de Bravo, Hidalgo
Mayo – Agosto 2022.
pág. 1
Tabla de Contenidos
¿Qué son las funciones de sistema? ..................................................................................... 30
Avg() ................................................................................................................................................. 31
Definición ................................................................................................................................... 30
Sintaxis ....................................................................................................................................... 31
Ejemplo ....................................................................................................................................... 31
Binary_checksum() ..................................................................................................................... 31
Definición ................................................................................................................................... 31
Sintaxis ....................................................................................................................................... 31
Ejemplo ....................................................................................................................................... 31
Checksum().................................................................................................................................... 32
Definición ................................................................................................................................... 32
Sintaxis ....................................................................................................................................... 32
Ejemplo ....................................................................................................................................... 32
Checksum_agg() ........................................................................................................................... 32
Definición ................................................................................................................................... 32
Sintaxis ....................................................................................................................................... 32
Ejemplo ....................................................................................................................................... 32
Count() ............................................................................................................................................ 33
Definición ................................................................................................................................... 33
Sintaxis ....................................................................................................................................... 33
Ejemplo ....................................................................................................................................... 33
Count_big() .................................................................................................................................... 33
Definición ................................................................................................................................... 33
Sintaxis ....................................................................................................................................... 33
Ejemplo ....................................................................................................................................... 33
Grouping() ...................................................................................................................................... 35
Definición ................................................................................................................................... 35
Sintaxis ....................................................................................................................................... 35
pág. 2
Ejemplo ....................................................................................................................................... 35
Grouping_Id() ................................................................................................................................ 36
Definición ................................................................................................................................... 35
Sintaxis ....................................................................................................................................... 35
Ejemplo ....................................................................................................................................... 35
Max() ................................................................................................................................................ 37
Definición ................................................................................................................................... 37
Sintaxis ....................................................................................................................................... 37
Ejemplo ....................................................................................................................................... 37
Min() ................................................................................................................................................. 37
Definición ................................................................................................................................... 37
Sintaxis ....................................................................................................................................... 37
Ejemplo ....................................................................................................................................... 37
Stdev().............................................................................................................................................. 37
Definición ................................................................................................................................... 37
Sintaxis ....................................................................................................................................... 37
Ejemplo ....................................................................................................................................... 37
Stdevp() ........................................................................................................................................... 38
Definición ................................................................................................................................... 38
Sintaxis ....................................................................................................................................... 38
Ejemplo ....................................................................................................................................... 38
Sum() ............................................................................................................................................... 39
Definición ................................................................................................................................... 38
Sintaxis ....................................................................................................................................... 38
Ejemplo ....................................................................................................................................... 38
Var() ................................................................................................................................................. 39
Definición ................................................................................................................................... 39
Sintaxis ....................................................................................................................................... 39
Ejemplo ....................................................................................................................................... 39
Varp() ............................................................................................................................................... 40
Definición ................................................................................................................................... 40
pág. 3
Sintaxis ....................................................................................................................................... 40
Ejemplo ....................................................................................................................................... 40
Configuration Functions ........................................................................................................... 40
ConnectionProperty() .................................................................................................................. 41
Definición ................................................................................................................................... 41
Sintaxis ....................................................................................................................................... 41
Ejemplo ....................................................................................................................................... 41
@@Datefirst ................................................................................................................................... 41
Definición ................................................................................................................................... 41
Sintaxis ....................................................................................................................................... 41
Ejemplo ....................................................................................................................................... 41
@@Dbts ........................................................................................................................................... 42
Definición ................................................................................................................................... 41
Sintaxis ....................................................................................................................................... 43
Ejemplo ....................................................................................................................................... 43
@@Langid ....................................................................................................................................... 45
Definición ................................................................................................................................... 45
Sintaxis ....................................................................................................................................... 45
Ejemplo ....................................................................................................................................... 45
@@Language ................................................................................................................................. 45
Definición ................................................................................................................................... 45
Sintaxis ....................................................................................................................................... 45
Ejemplo ....................................................................................................................................... 45
@@Lock_Timeout ......................................................................................................................... 46
Definición ................................................................................................................................... 45
Sintaxis ....................................................................................................................................... 45
Ejemplo ....................................................................................................................................... 45
@@Max_Connections .................................................................................................................. 47
Definición ................................................................................................................................... 47
Sintaxis ....................................................................................................................................... 47
Ejemplo ....................................................................................................................................... 47
pág. 4
@@Max_Precision ........................................................................................................................ 47
Definición ................................................................................................................................... 47
Sintaxis ....................................................................................................................................... 47
Ejemplo ....................................................................................................................................... 47
@@Nestlevel ................................................................................................................................... 48
Definición ................................................................................................................................... 47
Sintaxis ....................................................................................................................................... 47
Ejemplo ....................................................................................................................................... 47
@@Options ..................................................................................................................................... 49
Definición ................................................................................................................................... 49
Sintaxis ....................................................................................................................................... 49
Ejemplo ....................................................................................................................................... 49
@@Remserver ................................................................................................................................ 49
Definición ................................................................................................................................... 49
Sintaxis ....................................................................................................................................... 49
Ejemplo ....................................................................................................................................... 49
@@Servername ............................................................................................................................. 50
Definición ................................................................................................................................... 50
Sintaxis ....................................................................................................................................... 50
Ejemplo ....................................................................................................................................... 50
@@Servicename............................................................................................................................ 50
Definición ................................................................................................................................... 50
Sintaxis ....................................................................................................................................... 50
Ejemplo ....................................................................................................................................... 50
@@Spid ........................................................................................................................................... 50
Definición ................................................................................................................................... 50
Sintaxis ....................................................................................................................................... 50
Ejemplo ....................................................................................................................................... 50
@@Textsize..................................................................................................................................... 52
Definición ................................................................................................................................... 52
Sintaxis ....................................................................................................................................... 52
pág. 5
Ejemplo ....................................................................................................................................... 52
@@Version ..................................................................................................................................... 52
Definición ................................................................................................................................... 52
Sintaxis ....................................................................................................................................... 52
Ejemplo ....................................................................................................................................... 52
Cursor Functions ........................................................................................................................ 52
@@Cursor_Rows .......................................................................................................................... 54
Definición ................................................................................................................................... 54
Sintaxis ....................................................................................................................................... 54
Ejemplo ....................................................................................................................................... 54
Cursor_Status() ............................................................................................................................ 55
Definición ................................................................................................................................... 54
Sintaxis ....................................................................................................................................... 54
Ejemplo ....................................................................................................................................... 54
@@Fetch_Status........................................................................................................................... 56
Definición ................................................................................................................................... 56
Sintaxis ....................................................................................................................................... 56
Ejemplo ....................................................................................................................................... 56
Date and Time Functions ......................................................................................................... 56
Current_Timestamp .................................................................................................................... 57
Definición ................................................................................................................................... 57
Sintaxis ....................................................................................................................................... 57
Ejemplo ....................................................................................................................................... 57
Dateadd() ........................................................................................................................................ 58
Definición ................................................................................................................................... 57
Sintaxis ....................................................................................................................................... 59
Ejemplo ....................................................................................................................................... 59
Datediff() ......................................................................................................................................... 61
Definición ................................................................................................................................... 61
Sintaxis ....................................................................................................................................... 61
Ejemplo ....................................................................................................................................... 61
pág. 6
Datename() .................................................................................................................................... 61
Definición ................................................................................................................................... 61
Sintaxis ....................................................................................................................................... 61
Ejemplo ....................................................................................................................................... 61
Datepart() ....................................................................................................................................... 63
Definición ................................................................................................................................... 63
Sintaxis ....................................................................................................................................... 63
Ejemplo ....................................................................................................................................... 63
Day()................................................................................................................................................. 63
Definición ................................................................................................................................... 63
Sintaxis ....................................................................................................................................... 63
Ejemplo ....................................................................................................................................... 63
Getdate() ......................................................................................................................................... 63
Definición ................................................................................................................................... 63
Sintaxis ....................................................................................................................................... 64
Ejemplo ....................................................................................................................................... 64
Getutcdate() ................................................................................................................................... 67
Definición ................................................................................................................................... 66
Sintaxis ....................................................................................................................................... 66
Ejemplo ....................................................................................................................................... 66
Isdate()............................................................................................................................................. 68
Definición ................................................................................................................................... 68
Sintaxis ....................................................................................................................................... 68
Ejemplo ....................................................................................................................................... 68
Month()............................................................................................................................................ 68
Definición ................................................................................................................................... 68
Sintaxis ....................................................................................................................................... 68
Ejemplo ....................................................................................................................................... 68
Sysdatetime()................................................................................................................................. 68
Definición ................................................................................................................................... 68
Sintaxis ....................................................................................................................................... 68
pág. 7
Ejemplo ....................................................................................................................................... 68
Sysdatetimeoffset() ...................................................................................................................... 70
Definición ................................................................................................................................... 70
Sintaxis ....................................................................................................................................... 70
Ejemplo ....................................................................................................................................... 70
Sysutcdatetime() .......................................................................................................................... 73
Definición ................................................................................................................................... 70
Sintaxis ....................................................................................................................................... 72
Ejemplo ....................................................................................................................................... 72
Switchoffset() ................................................................................................................................. 74
Definición ................................................................................................................................... 74
Sintaxis ....................................................................................................................................... 74
Ejemplo ....................................................................................................................................... 74
Todatetimeoffset() ........................................................................................................................ 75
Definición ................................................................................................................................... 74
Sintaxis ....................................................................................................................................... 75
Ejemplo ....................................................................................................................................... 75
Year()................................................................................................................................................ 75
Definición ................................................................................................................................... 75
Sintaxis ....................................................................................................................................... 75
Ejemplo ....................................................................................................................................... 75
Mathematical Functions ........................................................................................................... 75
Abs() ................................................................................................................................................. 77
Definición ................................................................................................................................... 77
Sintaxis ....................................................................................................................................... 77
Ejemplo ....................................................................................................................................... 77
Acos() ............................................................................................................................................... 77
Definición ................................................................................................................................... 77
Sintaxis ....................................................................................................................................... 77
Ejemplo ....................................................................................................................................... 77
Asin() ................................................................................................................................................ 79
pág. 8
Definición ................................................................................................................................... 79
Sintaxis ....................................................................................................................................... 79
Ejemplo ....................................................................................................................................... 79
Atan() ............................................................................................................................................... 81
Definición ................................................................................................................................... 81
Sintaxis ....................................................................................................................................... 81
Ejemplo ....................................................................................................................................... 81
Atn2() ............................................................................................................................................... 83
Definición ................................................................................................................................... 83
Sintaxis ....................................................................................................................................... 83
Ejemplo ....................................................................................................................................... 83
Ceiling() ........................................................................................................................................... 83
Definición ................................................................................................................................... 83
Sintaxis ....................................................................................................................................... 83
Ejemplo ....................................................................................................................................... 83
Cos() ................................................................................................................................................. 85
Definición ................................................................................................................................... 85
Sintaxis ....................................................................................................................................... 85
Ejemplo ....................................................................................................................................... 85
Cot().................................................................................................................................................. 85
Definición ................................................................................................................................... 85
Sintaxis ....................................................................................................................................... 85
Ejemplo ....................................................................................................................................... 85
Degrees() ......................................................................................................................................... 87
Definición ................................................................................................................................... 87
Sintaxis ....................................................................................................................................... 87
Ejemplo ....................................................................................................................................... 87
Exp() ................................................................................................................................................. 87
Definición ................................................................................................................................... 87
Sintaxis ....................................................................................................................................... 87
Ejemplo ....................................................................................................................................... 87
pág. 9
Floor() .............................................................................................................................................. 89
Definición ................................................................................................................................... 89
Sintaxis ....................................................................................................................................... 89
Ejemplo ....................................................................................................................................... 89
Log().................................................................................................................................................. 89
Definición ................................................................................................................................... 89
Sintaxis ....................................................................................................................................... 89
Ejemplo ....................................................................................................................................... 89
Log100() .......................................................................................................................................... 91
Definición ................................................................................................................................... 91
Sintaxis ....................................................................................................................................... 91
Ejemplo ....................................................................................................................................... 91
Pi()..................................................................................................................................................... 91
Definición ................................................................................................................................... 91
Sintaxis ....................................................................................................................................... 91
Ejemplo ....................................................................................................................................... 91
Power()............................................................................................................................................. 93
Definición ................................................................................................................................... 93
Sintaxis ....................................................................................................................................... 93
Ejemplo ....................................................................................................................................... 93
Radians() ........................................................................................................................................ 93
Definición ................................................................................................................................... 93
Sintaxis ....................................................................................................................................... 93
Ejemplo ....................................................................................................................................... 93
Rand() .............................................................................................................................................. 95
Definición ................................................................................................................................... 95
Sintaxis ....................................................................................................................................... 95
Ejemplo ....................................................................................................................................... 95
Round() ........................................................................................................................................... 95
Definición ................................................................................................................................... 95
Sintaxis ....................................................................................................................................... 95
pág. 10
Ejemplo ....................................................................................................................................... 95
Sign() ................................................................................................................................................ 96
Definición ................................................................................................................................... 96
Sintaxis ....................................................................................................................................... 96
Ejemplo ....................................................................................................................................... 96
Sin() .................................................................................................................................................. 96
Definición ................................................................................................................................... 96
Sintaxis ....................................................................................................................................... 96
Ejemplo ....................................................................................................................................... 96
Sqrt() ................................................................................................................................................ 98
Definición ................................................................................................................................... 98
Sintaxis ....................................................................................................................................... 98
Ejemplo ....................................................................................................................................... 98
Square()......................................................................................................................................... 100
Definición ................................................................................................................................... 98
Sintaxis ..................................................................................................................................... 100
Ejemplo ..................................................................................................................................... 100
Tan() ............................................................................................................................................... 100
Col_Length()................................................................................................................................. 102
pág. 11
Definición ................................................................................................................................. 104
Sintaxis ..................................................................................................................................... 104
Ejemplo ..................................................................................................................................... 104
DatabaseProperty().................................................................................................................... 104
pág. 12
Filegroup_Name() ....................................................................................................................... 108
pág. 13
Ejemplo ..................................................................................................................................... 119
Indexproperty() ........................................................................................................................... 119
pág. 14
Sintaxis ..................................................................................................................................... 130
Ejemplo ..................................................................................................................................... 130
Change_tracking_current_version() ..................................................................................... 132
App_Name().................................................................................................................................. 134
pág. 15
Convert() ....................................................................................................................................... 140
pág. 16
Ejemplo ..................................................................................................................................... 145
Getansinull()................................................................................................................................ 147
pág. 17
Sintaxis ..................................................................................................................................... 152
Ejemplo ..................................................................................................................................... 152
Isnumeric() ................................................................................................................................... 154
pág. 18
Definición ................................................................................................................................. 159
Sintaxis ..................................................................................................................................... 159
Ejemplo ..................................................................................................................................... 159
Severproperty() ........................................................................................................................... 161
pág. 19
User_Name() ................................................................................................................................ 167
pág. 20
Sintaxis ..................................................................................................................................... 174
Ejemplo ..................................................................................................................................... 174
Rowset Functions ...................................................................................................................... 174
pág. 21
CHANGETABLE(CHANGES)................................................................................................... 191
pág. 22
Sintaxis ..................................................................................................................................... 199
Ejemplo ..................................................................................................................................... 199
Is_Member() ................................................................................................................................. 201
pág. 23
Ascii() ............................................................................................................................................. 206
pág. 24
Ejemplo ..................................................................................................................................... 210
Nchar()........................................................................................................................................... 211
pág. 25
Sintaxis ..................................................................................................................................... 217
Ejemplo ..................................................................................................................................... 217
Soundex() ..................................................................................................................................... 217
pág. 26
Definición ................................................................................................................................. 222
Sintaxis ..................................................................................................................................... 222
Ejemplo ..................................................................................................................................... 222
Trim() ............................................................................................................................................. 222
pág. 27
Ejemplo ..................................................................................................................................... 228
@@Pack_Received ...................................................................................................................... 228
pág. 28
Definición ................................................................................................................................. 236
Sintaxis ..................................................................................................................................... 236
Ejemplo ..................................................................................................................................... 236
Textptr() ........................................................................................................................................ 237
Conclusión.................................................................................................................................. 239
pág. 29
Concepto Descripción
Las siguientes funciones del sistema realizan operaciones y devuelven información sobre valores, objetos y
configuraciones en SQL Server.
Aggregate Functions
Una función agregada realiza un cálculo en un conjunto de valores y devuelve un solo valor. Excepto
por COUNT(*), las funciones agregadas ignoran los valores nulos. Las funciones agregadas a menudo se usan
con la cláusula GROUP BY de la declaración SELECT.
Todas las funciones agregadas son deterministas. En otras palabras, las funciones agregadas devuelven el
mismo valor cada vez que se las llama, cuando se las llama con un conjunto específico de valores de entrada.
Definición
pág. 30
Sintaxis Ejemplo
Uso de AVG con DISTINCT.
Definición
Sintaxis Ejemplo
Este ejemplo se
usa BINARY_CHECKSUM para
Binary_checksum() detectar cambios en una fila de la
BINARY_CHECKSUM ( * | expression [ tabla.
,...n ] )
USE AdventureWorks2012;
GO
CREATE TABLE myTable (column1 INT,
column2 VARCHAR(256));
GO
INSERT INTO myTable VALUES (1,
'test');
GO
SELECT BINARY_CHECKSUM(*) from
myTable;
GO
UPDATE myTable set column2 =
'TEST';
GO
SELECT BINARY_CHECKSUM(*) from
myTable;
pág. 31
GO
Definición
Sintaxis Ejemplo
Agrega una columna de suma de
verificación calculada a la tabla que
queremos indexar. A continuación,
crea un índice en la columna de suma
de comprobación.
Checksum()
CHECKSUM ( * | expression [ ,...n ] -- Create a checksum index.--
)
SET ARITHABORT ON;
USE AdventureWorks2012;
GO
ALTER TABLE Production.Product
ADD cs_Pname AS CHECKSUM(Name);
GO
CREATE INDEX Pname_index ON
Production.Product (cs_Pname);
GO
Definición
Sintaxis Ejemplo
Este ejemplo se
CHECKSUM_AGG ( [ ALL | DISTINCT ] utiliza CHECKSUM_AGG para detectar
expression ) cambios en la Quantitycolumna de
la ProductInventorytabla en la base de
datos AdventureWorks2012.
pág. 32
--Get the checksum value before the
column value is changed.--
SELECT CHECKSUM_AGG(CAST(Quantity
AS INT))
FROM Production.ProductInventory;
GO
Definición
Definición
SELECT COUNT_BIG(*)
FROM HumanResources.Employee;
GO
pág. 34
Definición
Sintaxis Ejemplo
Grouping() El siguiente ejemplo agrupa
SalesQuotay agrega SaleYTD
cantidades en la base de datos
AdventureWorks2012. La
GROUPING función se aplica a
la SalesQuota columna.
GROUPING ( <column_expression> )
SELECT SalesQuota, SUM(SalesYTD)
'TotalSalesYTD',
GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO
Definición
Sintaxis Ejemplo
pág. 35
Uso de GROUPING_ID para
identificar niveles de agrupación.
SELECT D.Name
,CASE
WHEN GROUPING_ID(D.Name,
E.JobTitle) = 0 THEN E.JobTitle
WHEN GROUPING_ID(D.Name,
E.JobTitle) = 1 THEN N'Total: ' +
D.Name
WHEN GROUPING_ID(D.Name,
E.JobTitle) = 3 THEN N'Company
Total:'
ELSE N'Unknown'
END AS N'Job Title'
,COUNT(E.BusinessEntityID) AS
N'Employee Count'
FROM HumanResources.Employee E
INNER JOIN
HumanResources.EmployeeDepartmentHi
story DH
ON E.BusinessEntityID =
DH.BusinessEntityID
INNER JOIN
HumanResources.Department D
ON D.DepartmentID =
DH.DepartmentID
WHERE DH.EndDate IS NULL
AND D.DepartmentID IN (12,14)
GROUP BY ROLLUP(D.Name,
E.JobTitle);
pág. 36
Definición
Sintaxis Ejemplo
Ejemplo sencillo.
Max()
-- Aggregation Function Syntax.-- El siguiente ejemplo devuelve la tasa
MAX( [ ALL | DISTINCT ] expression impositiva más alta (máxima) en la
) base de datos AdventureWorks2012.
SELECT MAX(TaxRate)
FROM Sales.SalesTaxRate;
GO
Definición
Definición
SELECT STDEV(Bonus)
FROM Sales.SalesPerson;
GO
Definición
Sintaxis Ejemplo
Usando STDEVP.
Stdevp()
El siguiente ejemplo devuelve la
-- Aggregate Function Syntax.-- desviación estándar de la población
STDEVP ( [ ALL | DISTINCT ] para todos los valores de bonificación
expression ) en la SalesPerson tabla de la base de
datos AdventureWorks2012.
SELECT STDEVP(Bonus)
FROM Sales.SalesPerson;
GO
Definición
Sintaxis Ejemplo
pág. 38
Uso de SUM para devolver datos de
resumen
Definición
Sintaxis Ejemplo
Usando VAR
Var()
El siguiente ejemplo devuelve la
-- Aggregate Function Syntax.-- varianza de todos los valores de
VAR ( [ ALL | DISTINCT ] expression bonificación en la SalesPerson tabla de
) la base de datos AdventureWorks2012.
SELECT VAR(Bonus)
FROM Sales.SalesPerson;
GO
pág. 39
Definición
Sintaxis Ejemplo
Uso de VARP
Varp()
-- Aggregate Function Syntax.-- El siguiente ejemplo devuelve la
VARP ( [ ALL | DISTINCT ] varianza de la población para todos los
expression ) valores de bonificación en
la SalesPerson tabla de la base de
datos AdventureWorks2012.
SELECT VARP(Bonus)
FROM Sales.SalesPerson;
GO
Configuration Functions
Estas funciones escalares devuelven información sobre las opciones de configuración actuales.
Todas las funciones de configuración operan de forma no determinista. En otras palabras, estas funciones no
siempre devuelven los mismos resultados cada vez que se las llama, incluso con el mismo conjunto de valores de
entrada.
pág. 40
Definición
Sintaxis Ejemplo
ConnectionProperty() Los valores devueltos coinciden con las
opciones que se muestran para las
columnas correspondientes en la vista
CONNECTIONPROPERTY ( property ) de administración
dinámica sys.dm_exec_connections.
Por ejemplo:
SELECT
ConnectionProperty('net_transport')
AS 'Net transport',
ConnectionProperty('protocol_type')
AS 'Protocol type';
Definición
SET DATEFIRST 5;
SELECT @@DATEFIRST AS 'First Day'
,DATEPART(dw, SYSDATETIME()) AS
'Today';
Definición
pág. 41
@@Dbts Esta función devuelve el valor del tipo de datos de marca de tiempo
actual para la base de datos actual. La base de datos actual tendrá
un valor de marca de tiempo único garantizado.
pág. 42
Sintaxis Ejemplo
pág. 43
Este ejemplo devuelve la marca de
tiempo actual de la base de datos
AdventureWorks2012.
@@DBTS
USE AdventureWorks2012;
GO
SELECT @@DBTS;
pág. 44
Definición
Definición
Definición
Sintaxis Ejemplo
pág. 45
Este ejemplo muestra el conjunto de
@@LOCK_TIMEOUT resultados cuando no se establece un
valor LOCK_TIMEOUT.
pág. 46
Definición
Sintaxis Ejemplo
@@Max_Connections El siguiente ejemplo muestra la
devolución del número máximo de
conexiones de usuario en una
instancia de SQL Server. El ejemplo
@@MAX_CONNECTIONS asume que SQL Server no se ha
reconfigurado para menos conexiones
de usuario.
Definición
@@Max_Precision
Devuelve el nivel de precisión utilizado por los tipos de
datos numéricos y decimales tal como se establece actualmente en
el servidor.
Sintaxis Ejemplo
SELECT @@MAX_PRECISION AS 'Max
@@MAX_PRECISION Precision'
Definición
Sintaxis Ejemplo
pág. 47
Usar @@NESTLEVEL en un
procedimiento
USE AdventureWorks2012;
@@NESTLEVEL GO
IF OBJECT_ID (N'usp_OuterProc',
N'P')IS NOT NULL
DROP PROCEDURE usp_OuterProc;
GO
IF OBJECT_ID (N'usp_InnerProc',
N'P')IS NOT NULL
DROP PROCEDURE usp_InnerProc;
@@Nestlevel GO
CREATE PROCEDURE usp_InnerProc AS
SELECT @@NESTLEVEL AS 'Inner
Level';
GO
CREATE PROCEDURE usp_OuterProc AS
SELECT @@NESTLEVEL AS 'Outer
Level';
EXEC usp_InnerProc;
GO
EXECUTE usp_OuterProc;
GO
pág. 48
Definición
@@Options
Devuelve información sobre las opciones SET actuales.
Sintaxis Ejemplo
Demostración de cómo los cambios
afectan el comportamiento.
SELECT @@OPTIONS AS
OriginalOptionsValue;
SET CONCAT_NULL_YIELDS_NULL OFF;
SELECT 'abc' + NULL AS
ResultWhen_OFF, @@OPTIONS AS
OptionsValueWhen_OFF;
Definición
pág. 49
Definición
Definición
Sintaxis Ejemplo
El siguiente ejemplo muestra el uso
de @@SERVICENAME.
@@SERVICENAME
SELECT @@SERVICENAME AS 'Service
Name';
Definición
@@Spid
Devuelve el ID de sesión del proceso de usuario actual.
Sintaxis Ejemplo
pág. 50
Este ejemplo devuelve el ID de sesión,
el nombre de inicio de sesión y el
nombre de usuario para el proceso de
@@SPID usuario actual.
pág. 51
Definición
Sintaxis Ejemplo
El siguiente ejemplo utiliza SELECT
para mostrar el @@TEXTSIZE valor
antes y después de que se cambie con
@@Textsize la SET``TEXTSIZE declaración.
Definición
Cursor Functions
pág. 52
Todas las funciones del cursor son no deterministas. En otras palabras, estas funciones no siempre devuelven
los mismos resultados cada vez que se ejecutan, incluso con el mismo conjunto de valores de entrada.
pág. 53
Definición
Sintaxis Ejemplo
Este ejemplo primero declara un cursor
y luego se usa SELECT para mostrar el
valor de @@CURSOR_ROWS. La
configuración tiene un valor de 0antes
@@Cursor_Rows de que se abra el cursor y luego tiene
un valor de -1, para indicar que el
conjunto de claves del cursor se llena
de forma asíncrona.
@@CURSOR_ROWS
USE AdventureWorks2012;
GO
SELECT @@CURSOR_ROWS;
DECLARE Name_Cursor CURSOR FOR
SELECT LastName ,@@CURSOR_ROWS FROM
Person.Person;
OPEN Name_Cursor;
FETCH NEXT FROM Name_Cursor;
SELECT @@CURSOR_ROWS;
CLOSE Name_Cursor;
DEALLOCATE Name_Cursor;
GO
Definición
Sintaxis Ejemplo
pág. 54
CURSOR_STATUS Este ejemplo usa la CURSOR_STATUS
( función para mostrar el estado de un
{ 'local' , 'cursor_name' cursor, después de su declaración,
} después de que se abre y después de
| { 'global' , que se cierra.
'cursor_name' }
| { 'variable' , CREATE TABLE #TMP
'cursor_variable' } (
) ii INT
)
GO
Cursor_Status() GO
--Create a cursor.
DECLARE cur CURSOR
FOR SELECT * FROM #TMP
SELECT
CURSOR_STATUS('global','cur') AS
'After declare'
OPEN cur
SELECT
CURSOR_STATUS('global','cur') AS
'After Open'
CLOSE cur
SELECT
CURSOR_STATUS('global','cur') AS
'After Close'
Sintaxis Ejemplo
Este ejemplo se
utiliza @@FETCH_STATUS para
@@Fetch_Status controlar las actividades del cursor en
un WHILE bucle.
Estas funciones lo ayudan a crear cálculos basados en fechas y horas. Muchas de las funciones de DAX son
similares a las funciones de fecha y hora de Excel. Sin embargo, las funciones DAX usan un tipo de datos
de fecha y hora y pueden tomar valores de una columna como argumento.
pág. 56
Definición
Current_Timestamp
Esta función devuelve la marca de tiempo del sistema de la base de
datos actual como un valor de fecha y hora, sin el desplazamiento
de la zona horaria de la base de datos. CURRENT_TIMESTAMP
deriva este valor del sistema operativo de la computadora en la que
se ejecuta la instancia de SQL Server.
Sintaxis Ejemplo
CURRENT_TIMESTAMP Obtener la fecha y hora del sistema
actual
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/* Returned:
SYSDATETIME() 2007-04-30
13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30
13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30
20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30
13:10:02.047
GETDATE() 2007-04-30
13:10:02.047
GETUTCDATE() 2007-04-30
20:10:02.047
*/
Definición
pág. 57
Esta función agrega un número (un entero con signo) a una parte
de fecha de una fecha de entrada y devuelve un valor de fecha/hora
Dateadd() modificada.
Por ejemplo, puede usar esta función para encontrar la fecha que es
7000 minutos a partir de hoy: número = 7000, parte de fecha =
minuto, fecha = hoy.
pág. 58
Sintaxis Ejemplo
pág. 59
Estas instrucciones agregan una parte
de fecha de milisegundo, microsegundo
o nanosegundo.
Sintaxis Ejemplo
Especificación de columnas para
fecha de inicio y fecha de
finalización.
Definición
Sintaxis Ejemplo
pág. 61
DATENAME ( datepart , date ) Este ejemplo devuelve las partes de la
fecha para la fecha
especificada. Sustituya un valor de
parte de fecha de la tabla por
el datepart argumento en la instrucción
SELECT:
SELECT DATENAME(datepart,'2007-10-
30 12:15:32.1234567 +05:10');
pág. 62
Definición
Sintaxis Ejemplo
Este ejemplo devuelve el año base. El
Datepart() año base ayuda con los cálculos de
fecha. En el ejemplo, un número
DATEPART ( datepart , date ) especifica la fecha. Observe que SQL
Server interpreta 0 como el 1 de enero
de 1900.
-- Returns: 1900 1 1
Definición
SELECT DAY('2015-04-30
01:01:01.1234567');
Definición
pág. 63
Sintaxis Ejemplo
pág. 64
GETDATE() Obtener la fecha y hora actual del
sistema.
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/*
SYSDATETIME() 2007-04-30
13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30
13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30
20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30
13:10:02.047
GETDATE() 2007-04-30
13:10:02.047
GETUTCDATE() 2007-04-30
20:10:02.047
*/
pág. 65
Definición
Sintaxis Ejemplo
pág. 66
GETUTCDATE() Obtener la fecha y hora actual del
sistema
pág. 67
Definición
Sintaxis Ejemplo
Isdate() ISDATE ( expression ) Uso de ISDATE para probar una
expresión de fecha y hora válida
IF ISDATE('2009-05-12
10:19:41.177') = 1
PRINT 'VALID'
ELSE
PRINT 'INVALID';
Definición
Sintaxis Ejemplo
Month() MONTH ( date ) La siguiente instrucción devuelve 4.
Este es el número del mes.
SELECT MONTH('2007-04-
30T01:01:01.1234567 -07:00');
Definición
Sintaxis Ejemplo
pág. 68
SYSDATETIME ( ) Obtener la fecha y hora actual
del sistema
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/* Returned:
SYSDATETIME() 2007-04-30
13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30
13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30
20:10:02.0474381
CURRENT_TIMESTAMP
2007-04-30 13:10:02.047
GETDATE()
2007-04-30 13:10:02.047
GETUTCDATE()
2007-04-30 20:10:02.047
*/
pág. 69
Definición
Sintaxis Ejemplo
Sysdatetimeoffset() Mostrar los formatos que devuelven
las funciones de fecha y hora
SELECT SYSDATETIME() AS
[SYSDATETIME()]
,SYSDATETIMEOFFSET() AS
[SYSDATETIMEOFFSET()]
,SYSUTCDATETIME() AS
[SYSUTCDATETIME()]
,CURRENT_TIMESTAMP AS
[CURRENT_TIMESTAMP]
,GETDATE() AS [GETDATE()]
,GETUTCDATE() AS
[GETUTCDATE()];
/*
SYSDATETIME() 2007-04-30
13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30
13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30
20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30
13:10:02.047
GETDATE() 2007-04-30
13:10:02.047
GETUTCDATE() 2007-04-30
20:10:02.047*/
Definición
pág. 70
Devuelve un valor datetime2 que contiene la fecha y la hora del
equipo en el que se ejecuta la instancia de SQL Server. La fecha y la
hora se devuelven como hora UTC (hora universal coordinada). La
especificación de precisión de fracciones de segundo tiene un rango
de 1 a 7 dígitos. La precisión predeterminada es de 7 dígitos.
pág. 71
Sintaxis Ejemplo
pág. 72
Mostrar los formatos que devuelven
las funciones de fecha y hora.
SELECT SYSDATETIME() AS
[SYSDATETIME()]
,SYSDATETIMEOFFSET() AS
SYSUTCDATETIME ( ) [SYSDATETIMEOFFSET()]
,SYSUTCDATETIME() AS
[SYSUTCDATETIME()]
,CURRENT_TIMESTAMP AS
[CURRENT_TIMESTAMP]
,GETDATE() AS [GETDATE()]
Sysutcdatetime() ,GETUTCDATE() AS
[GETUTCDATE()];
/*
SYSDATETIME() 2007-04-30
13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30
13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30
20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30
13:10:02.047
GETDATE() 2007-04-30
13:10:02.047
GETUTCDATE() 2007-04-30
20:10:02.047
*/
pág. 73
Definición
Switchoffset()
Devuelve un valor datetimeoffset que se cambia del desplazamiento
de zona horaria almacenado a un nuevo desplazamiento de zona
horaria especificado.
Sintaxis Ejemplo
SWITCHOFFSET ( El siguiente ejemplo utiliza
datetimeoffset_expression, SWITCHOFFSETpara mostrar un
timezoneoffset_expression ) desplazamiento de zona horaria
diferente al valor almacenado en la
base de datos.
--Returns: 1998-09-20
04:45:50.7134500 -08:00
SELECT ColDatetimeoffset
FROM dbo.test;
--Returns: 1998-09-20
07:45:50.7134500 -05:00
Definición
pág. 74
Sintaxis Ejemplo
Cambio de la compensación de la
zona horaria de la fecha y hora
actuales.
Definición
SELECT YEAR('2010-04-
30T01:01:01.1234567-
07:00');
Mathematical Functions
Las siguientes funciones escalares realizan un cálculo, generalmente basado en valores de entrada que se
proporcionan como argumentos, y devuelven un valor numérico.
pág. 75
Todas las funciones matemáticas, excepto RAND, son funciones deterministas. Esto significa que devuelven los
mismos resultados cada vez que se les llama con un conjunto específico de valores de entrada. RAND es
determinista solo cuando se especifica un parámetro semilla.
pág. 76
Definición
Abs()
Una función matemática que devuelve el valor absoluto (positivo) de
la expresión numérica especificada. ( ABS cambia los valores
negativos a valores positivos. ABS No tiene efecto sobre los valores
cero o positivos).
Sintaxis Ejemplo
Este ejemplo muestra los resultados de
usar la ABS función en tres números
diferentes.
Definición
Sintaxis Ejemplo
pág. 77
Este ejemplo devuelve el ACOS valor
del número especificado.
pág. 78
Definición
Sintaxis Ejemplo
pág. 79
Este ejemplo toma una expresión
flotante y devuelve el valor ASIN del
ángulo especificado.
pág. 80
Definición
Sintaxis Ejemplo
pág. 81
Este ejemplo toma una expresión
flotante y devuelve el ATAN del ángulo
especificado.
pág. 82
Definición
Sintaxis Ejemplo
Atn2() El siguiente ejemplo calcula el para los
componentes ATN2especificados xy .y
Definición
Sintaxis Ejemplo
pág. 83
Este ejemplo muestra entradas
numéricas positivas, numéricas
negativas y de valor cero para la
función TECHO.
CEILING ( numeric_expression )
SELECT CEILING($123.45), CEILING($-
123.45), CEILING($0.0);
GO
/*Aquí está el conjunto de
resultados.
--------- --------- ---------------
----------
124.00 -123.00 0.00
(1 row(s) affected) */
pág. 84
Definición
Sintaxis Ejemplo
Cos() Este ejemplo devuelve el COS valor del
ángulo especificado:
Definición
Sintaxis Ejemplo
pág. 85
COT ( float_expression ) Este ejemplo devuelve el COTvalor para
el ángulo específico:
pág. 86
Definición
Sintaxis Ejemplo
Este ejemplo devuelve el número de
Degrees() DEGREES ( numeric_expression ) grados en un ángulo de PI/2 radianes.
Definición
pág. 87
Hallar el exponente de un número
pág. 88
Definición
Definición
Sintaxis Ejemplo
pág. 89
-- Syntax for SQL Server, Azure SQL Calcular el logaritmo de un número.
Database
LOG ( float_expression [, base ] ) El siguiente ejemplo calcula para la
expresión flotante LOG especificada.
-- Syntax for Azure Synapse SQL
LOG ( float_expression ) DECLARE @var FLOAT = 10;
SELECT 'The LOG of the variable is:
' + CONVERT(VARCHAR, LOG(@var));
GO
pág. 90
Definición
Sintaxis Ejemplo
Cálculo del logaritmo en base 10
para una variable.
Definición
Pi()
Devuelve el valor constante de PI.
Sintaxis Ejemplo
pág. 91
El siguiente ejemplo devuelve el valor
de PI.
SELECT PI();
PI ( ) GO
pág. 92
Definición
Definición
Sintaxis Ejemplo
Usando RADIANES para mostrar 0.0
SELECT RADIANS(1e-307)
GO
pág. 94
Definición
Sintaxis Ejemplo
El siguiente ejemplo produce cuatro
números aleatorios diferentes que son
Rand() generados por la función ALEATORIO.
Definición
Sintaxis Ejemplo
Uso de ROUND y estimaciones
pág. 95
Definición
Sintaxis Ejemplo
El siguiente ejemplo devuelve los
valores SIGN de números de -1 a 1.
Definición
Sin()
Devuelve el seno trigonométrico del ángulo especificado, en
radianes, y en una expresión numérica aproximada, float.
Sintaxis Ejemplo
pág. 96
SIN ( float_expression ) El siguiente ejemplo calcula el SIN para
un ángulo específico.
pág. 97
Definición
Sqrt()
Devuelve la raíz cuadrada del valor flotante especificado.
Sintaxis Ejemplo
El siguiente ejemplo devuelve la raíz
cuadrada de los números entre 1.00y
10.00.
Definición
pág. 98
Devuelve el cuadrado del valor flotante especificado.
pág. 99
Sintaxis Ejemplo
El siguiente ejemplo devuelve el
volumen de un cilindro que tiene un
radio de 1pulgada y una altura de
5pulgadas.
Definición
Tan()
Devuelve la tangente de la expresión de entrada.
Sintaxis Ejemplo
El siguiente ejemplo devuelve la
tangente de PI()/2.
Metadata Functions
pág. 100
Las siguientes funciones escalares devuelven información sobre la base de datos y los objetos de la base de datos.
Todas las funciones de metadatos son no deterministas. Esto significa que estas funciones no siempre devuelven
los mismos resultados cada vez que se las llama, incluso con el mismo conjunto de valores de entrada.
pág. 101
Definición
Sintaxis Ejemplo
Este ejemplo muestra los valores
devueltos para una columna de tipo
varchar(40) y una columna de tipo
Col_Length() nvarchar(40):
USE AdventureWorks2012;
GO
CREATE TABLE t1(c1 VARCHAR(40), c2
COL_LENGTH ( 'table' , 'column' ) NVARCHAR(40) );
GO
SELECT COL_LENGTH('t1','c1')AS
'VarChar',
COL_LENGTH('t1','c2')AS
'NVarChar';
GO
DROP TABLE t1;
Definición
Col_Name()
Esta función devuelve el nombre de una columna de la tabla, en
función del número de identificación de la tabla y los valores del
número de identificación de la columna de esa columna de la tabla.
Sintaxis Ejemplo
pág. 102
Este ejemplo devuelve el nombre de la
primera columna en una
Employeetabla de muestra.
-- Uses AdventureWorks
SELECT
COL_NAME(OBJECT_ID('dbo.FactReselle
COL_NAME ( table_id , column_id ) rSales'), 1) AS FirstColumnName,
COL_NAME(OBJECT_ID('dbo.FactReselle
rSales'), 2) AS SecondColumnName;
/*Aquí está el conjunto de
resultados.
ColumnName
------------
BusinessEntityID */
pág. 103
Definición
Columnproperty()
Esta función devuelve información de columna o parámetro.
Sintaxis Ejemplo
Este ejemplo devuelve la longitud de la
LastNamecolumna.
USE AdventureWorks2012;
GO
SELECT COLUMNPROPERTY(
COLUMNPROPERTY ( id , column , OBJECT_ID('Person.Person'),'LastNam
property ) e','PRECISION')AS 'Column Length';
GO
Definición
DatabaseProperty()
Sintaxis Ejemplo
Usar DATABASEPROPERTYEX para
comprobar la conexión a la réplica
DATABASEPROPERTY ( database ,
property ) SELECT
DATABASEPROPERTY(DB_NAME(),
'Updateability');
Definición
Sintaxis Ejemplo
pág. 104
Recuperación del estado de la opción
de base de datos AUTO_SHRINK.
pág. 105
Definición
Definición
Sintaxis Ejemplo
Devolver el nombre de la base de
Db_Name() datos actual.
Definición
File_Id()
Para el nombre lógico dado de un archivo de componente de la base
de datos actual, esta función devuelve el número de identificación
(id.) del archivo.
Sintaxis Ejemplo
pág. 106
En este ejemplo se devuelve el valor de
identificador de archivo del archivo
AdventureWorks_Data, un archivo de
componente de la base de datos
ADVENTUREWORKS2012.
pág. 107
Definición
File_Name()
Esta función devuelve el nombre de archivo lógico correspondiente a
un número de identificación (id.) de archivo dado.
Sintaxis Ejemplo
FILE_NAME ( file_id ) En este ejemplo se devuelven los
nombres de archivo de file_ID 1 y
file_ID de la base de datos
AdventureWorks2012.
Definición
Filegroup_Id()
Esta función devuelve el número de identificación (id.) del grupo de
archivos correspondiente al nombre del grupo de archivos
especificado.
Sintaxis Ejemplo
En este ejemplo se devuelve el
identificador del grupo de archivos
denominado PRIMARY de la base de
FILEGROUP_ID ( 'filegroup_name' ) datos AdventureWorks2012.
SELECT FILEGROUP_ID('PRIMARY') AS
[Filegroup ID];
GO
Definición
Filegroup_Name()
Esta función devuelve el nombre del grupo de archivos
correspondiente al número de identificación (id.) del grupo de
archivos especificado.
pág. 108
Sintaxis Ejemplo
pág. 109
En este ejemplo se devuelve el nombre
del grupo de archivos del identificador
de grupo de archivos 1 en la base de
FILEGROUP_NAME ( filegroup_id ) datos AdventureWorks2012.
SELECT FILEGROUP_NAME(1) AS
[Filegroup Name];
GO
pág. 110
Definición
Sintaxis Ejemplo
En este ejemplo se devuelve el valor de
la propiedad IsDefault del grupo de
FILEGROUPPROPERTY ( filegroup_name, archivos principal de la base de datos
property ) AdventureWorks2012.
SELECT FILEGROUPPROPERTY('PRIMARY',
'IsDefault') AS 'Default
Filegroup';
GO
Definición
Sintaxis Ejemplo
En el siguiente ejemplo se devuelve el
valor de la propiedad IsPrimaryFile del
nombre de archivo
AdventureWorks_Data de la base de
FILEPROPERTY ( file_name , property datos AdventureWorks2012.
)
SELECT
FILEPROPERTY('AdventureWorks2012_Da
ta', 'IsPrimaryFile')AS [Primary
File];
GO
Definición
pág. 111
Devuelve valores de propiedad extendidos de los objetos de la base
de datos.
pág. 112
Sintaxis Ejemplo
pág. 113
fn_listextendedproperty ( Mostrar propiedades extendidas en
{ default | 'property_name' | una base de datos
NULL }
, { default | El siguiente ejemplo muestra todas las
'level0_object_type' | NULL } propiedades extendidas establecidas en
, { default | el propio objeto de la base de datos.
::fn_Listextendedproperty() 'level0_object_name' | NULL }
, { default | USE AdventureWorks2012;
'level1_object_type' | NULL } GO
, { default | SELECT objtype, objname, name,
'level1_object_name' | NULL } value
, { default | FROM
'level2_object_type' | NULL } fn_listextendedproperty(default,
, { default | default, default, default, default,
'level2_object_name' | NULL } default, default);
) GO
pág. 114
Definición
Sintaxis Ejemplo
El siguiente ejemplo devuelve el
número de elementos indexados de
texto completo en un catálogo de texto
completo llamado Cat_Desc.
FULLTEXTCATALOGPROPERTY
('catalog_name' ,'property') USE AdventureWorks2012;
GO
SELECT
fulltextcatalogproperty('Cat_Desc',
'ItemCount');
GO
Definición
Definición
pág. 115
Index_Col() Devuelve el nombre de la columna indexada. Devuelve NULL para
índices XML.
pág. 116
Sintaxis Ejemplo
pág. 117
INDEX_COL ( '[ database_name . [ Uso de INDEX_COL para devolver un
schema_name ] .| schema_name ] nombre de columna de índice
table_or_view_name', index_id ,
key_id ) El siguiente ejemplo devuelve los
nombres de columna de las dos
columnas clave en el índice
PK_SalesOrderDetail_SalesOrderID_Lin
eNumber.
USE AdventureWorks2012;
GO
SELECT
INDEX_COL
(N'AdventureWorks2012.Sales.SalesOr
derDetail', 1,1) AS
[Index Column 1],
INDEX_COL
(N'AdventureWorks2012.Sales.SalesOr
derDetail', 1,2) AS
[Index Column 2]
;
GO
pág. 118
Definición
USE AdventureWorks2012;
GO
SELECT
INDEXKEY_PROPERTY ( object_ID
,index_ID ,key_ID ,property ) INDEXKEY_PROPERTY(OBJECT_ID('Produc
tion.Location', 'U'),
1,1,'ColumnId') AS [Column
ID],
INDEXKEY_PROPERTY(OBJECT_ID('Produc
tion.Location', 'U'),
1,1,'IsDescending') AS [Asc
or Desc order];
Definición
Indexproperty()
Devuelve el índice con nombre o el valor de la propiedad de
estadísticas de un número de identificación de tabla especificado, el
nombre del índice o de las estadísticas y el nombre de la
propiedad. Devuelve NULL para índices XML.
pág. 119
Sintaxis Ejemplo
pág. 120
El siguiente ejemplo devuelve los
valores de las propiedades IsClustered ,
IndexDepth e IndexFillFactor para el
PK_Employee_BusinessEntityIDíndice
de la Employeetabla en la base de datos
AdventureWorks2012.
'PK_Employee_BusinessEntityID','IsC
lustered')AS [Is Clustered],
INDEXPROPERTY(OBJECT_ID('HumanResou
rces.Employee'),
'PK_Employee_BusinessEntityID','Ind
exDepth') AS [Index Depth],
INDEXPROPERTY(OBJECT_ID('HumanResou
rces.Employee'),
'PK_Employee_BusinessEntityID','Ind
exFillFactor') AS [Fill Factor];
pág. 121
Definición
Sintaxis Ejemplo
Devolver el ID de objeto para un
objeto especificado
Definición
Sintaxis Ejemplo
pág. 122
Uso de OBJECT_NAME en una
cláusula WHERE
USE AdventureWorks2012;
GO
DECLARE @MyID INT;
SET @MyID = (SELECT
OBJECT_ID('AdventureWorks2012.Produ
ction.Product',
'U'));
SELECT name, object_id, type_desc
FROM sys.objects
WHERE name = OBJECT_NAME(@MyID);
GO
pág. 123
Definición
Sintaxis Ejemplo
Verificar que un objeto es una tabla
USE AdventureWorks2012;
GO
OBJECTPROPERTY ( id , property ) IF OBJECTPROPERTY
(OBJECT_ID(N'Production.UnitMeasure
'),'ISTABLE') = 1
PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY
(OBJECT_ID(N'Production.UnitMeasure
'),'ISTABLE') = 0
PRINT 'UnitMeasure is not a
table.'
ELSE IF OBJECTPROPERTY
(OBJECT_ID(N'Production.UnitMeasure
'),'ISTABLE') IS NULL
PRINT 'ERROR: UnitMeasure is not
a valid object.';
GO
Definición
Objectpropertyex()
Devuelve información sobre los objetos del ámbito del esquema en
la base de datos actual.
Sintaxis Ejemplo
pág. 124
Encontrar el tipo base de un objeto
USE AdventureWorks2012;
GO
CREATE SYNONYM MyEmployeeTable FOR
HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX (
object_id(N'MyEmployeeTable'),
N'BaseType')AS [Base Type];
GO
pág. 125
Definición
Sintaxis Ejemplo
pág. 126
El siguiente ejemplo utiliza
@@PROCIDcomo parámetro de entrada
en la OBJECT_NAMEfunción para
devolver el nombre del procedimiento
almacenado en el RAISERRORmensaje.
USE AdventureWorks2012;
GO
@@PROCID IF OBJECT_ID ( 'usp_FindName', 'P'
) IS NOT NULL
DROP PROCEDURE usp_FindName;
GO
CREATE PROCEDURE usp_FindName
@lastname VARCHAR(40) = '%',
@firstname VARCHAR(20) = '%'
AS
DECLARE @Count INT;
DECLARE @ProcName NVARCHAR(128);
SELECT LastName, FirstName
FROM Person.Person
WHERE FirstName LIKE @firstname AND
LastName LIKE @lastname;
SET @Count = @@ROWCOUNT;
SET @ProcName =
OBJECT_NAME(@@PROCID);
RAISERROR ('Stored procedure %s
returned %d rows.', 16,10,
@ProcName, @Count);
GO
EXECUTE dbo.usp_FindName 'P%',
'A%';
pág. 127
Definición
Sql_Variant_Property()
Devuelve el tipo de datos base y otra información sobre un valor
de sql_variant.
Sintaxis Ejemplo
Usando un sql_variant en una tabla
El siguiente ejemplo recupera
SQL_VARIANT_PROPERTYinformación
sobre el colAvalor 46279.1donde colB=
1689, dado que tableAtiene colAque es
de tipo sql_varianty colB.
SQL_VARIANT_PROPERTY(colA,'Precisio
n') AS 'Precision',
SQL_VARIANT_PROPERTY(colA,'Scale')
AS 'Scale'
FROM tableA
WHERE colB = 1689
(1 row(s) affected) */
Definición
pág. 128
Devuelve información sobre un tipo de datos.
pág. 129
Sintaxis Ejemplo
pág. 130
Identificación del propietario de un
tipo de datos
pág. 131
Definición
Sintaxis Ejemplo
El siguiente ejemplo declara la variable
local @next_baselinepara almacenar la
versión actual de los cambios
CHANGE_TRACKING_CURRENT_VERSION ( ) registrados y luego usa la
CHANGE_TRACKING_CURRENT_VERSI
ON() función para obtener el valor de la
variable.
Definición
Sintaxis Ejemplo
pág. 132
El siguiente ejemplo determina si la
Salarycolumna de la Employeestabla se
actualizó. La COLUMNPROPERTY
función devuelve el ID de columna de la
Salarycolumna. La
CHANGE_TRACKING_IS_COLUMN_IN_MASK ( @change_columnsvariable local debe
column_id , change_columns ) establecerse en los resultados de una
consulta utilizando CHANGETABLE
como fuente de datos.
SET @SalaryChanged =
CHANGE_TRACKING_IS_COLUMN_IN_MASK
(COLUMNPROPERTY(OBJECT_ID('Employee
s'), 'Salary', 'ColumnId')
,@change_columns);
Other Functions
Estas funciones realizan acciones únicas que no pueden ser definidas por ninguna de las categorías.
pág. 133
Definición
Sintaxis Ejemplo
Este ejemplo comprueba si la
aplicación cliente que inició este
proceso es una SQL Server
Management Studiosesión. A
continuación, proporciona un valor de
fecha en formato EE. UU. o ANSI.
USE AdventureWorks2012;
APP_NAME ( ) GO
IF APP_NAME() = 'Microsoft SQL
Server Management Studio - Query'
PRINT 'This process was started by
' + APP_NAME() + '. The date is ' +
CONVERT ( VARCHAR(100) , GETDATE(),
101) + '.';
ELSE
PRINT 'This process was started by
' + APP_NAME() + '. The date is ' +
CONVERT ( VARCHAR(100) , GETDATE(),
102) + '.';
GO
Definición
Cast()
Una función que convierte una expresión dada en un tipo de datos
especificado.
Sintaxis Ejemplo
pág. 134
Convierta un valor a un tipo de datos
varchar:
SELECT CAST('2017-08-25' AS
datetime);
pág. 135
Definición
Coalesce()
Evalúa los argumentos en orden y devuelve el valor actual de la
primera expresión que inicialmente no se evalúa como NULL. Por
ejemplo, SELECT COALESCE (NULL, NULL, 'third_value',
'fourth_value'); devuelve el tercer valor porque el tercer valor es el
primer valor que no es nulo.
Sintaxis Ejemplo
Ejecutando un ejemplo simple
Definición
Esta función devuelve la propiedad solicitada de una colación
especificada.
Collationproperty() Sintaxis Ejemplo
COLLATIONPROPERTY( collation_name , SELECT
property ) COLLATIONPROPERTY('Traditional_
Spanish_CS_AS_KS_WS',
'CodePage');
Definición
pág. 136
Columns_Update() Esta función devuelve un patrón de bits varbinary que indica las
columnas insertadas o actualizadas de una tabla o
vista. Úselo COLUMNS_UPDATEDen cualquier lugar dentro del
cuerpo de un disparador INSERT o UPDATE de Transact-SQL para
probar si el disparador debe ejecutar ciertas acciones.
pág. 137
Sintaxis Ejemplo
pág. 138
COLUMNS_UPDATED ( ) Usar COLUMNS_UPDATED para
probar más de ocho columnas
USE AdventureWorks2012;
GO
IF OBJECT_ID (N'Person.uContact2',
N'TR') IS NOT NULL
DROP TRIGGER Person.uContact2;
GO
CREATE TRIGGER Person.uContact2 ON
Person.Person
AFTER UPDATE AS
IF (
(SUBSTRING(COLUMNS_UPDATED(), 1, 1)
& 20 = 20)
AND
(SUBSTRING(COLUMNS_UPDATED(), 2, 1)
& 1 = 1) )
PRINT 'Columns 3, 5 and 9
updated';
GO
UPDATE Person.Person
SET NameStyle = NameStyle,
FirstName=FirstName,
EmailPromotion=EmailPromotion;
GO
pág. 139
Definición
Sintaxis Ejemplo
Usar CONVERT con XML escrito
Estos ejemplos muestran el uso de
Convert() CONVERT para convertir datos a XML
-- CONVERT Syntax: con tipo, mediante el uso de columnas
CONVERT ( data_type [ ( length ) ] y tipos de datos XML (SQL Server) .
, expression [ , style ] )
Este ejemplo convierte una cadena con
espacios en blanco, texto y marcado en
XML escrito y elimina todos los
espacios en blanco insignificantes
(espacio en blanco límite entre nodos):
SELECT CONVERT(XML,
'<root><child/></root>');
Definición
SELECT CURRENT_USER;
GO
Definición
pág. 140
Sintaxis Ejemplo
pág. 141
Este ejemplo encuentra la longitud de
la Name columna en la Producttabla:
USE AdventureWorks2016
Datalength() GO
DATALENGTH ( expression ) SELECT length =
DATALENGTH(EnglishProductName),
EnglishProductName
FROM dbo.DimProduct
ORDER BY EnglishProductName;
GO
pág. 142
Definición
@@Error
Devuelve el número de error de la última instrucción Transact-SQL
ejecutada.
Sintaxis Ejemplo
Usar @@ERROR para detectar un
error específico
Definición
pág. 143
El siguiente ejemplo devuelve todos los
nombres de intercalación que
comienzan con la letra L y que son
intercalaciones de clasificación binaria.
fn_helpcollations ()
SELECT Name, Description FROM
fn_helpcollations()
WHERE Name like 'L%' AND
Description LIKE '% binary
sort';
pág. 144
Definición
Sintaxis Ejemplo
El siguiente ejemplo se utiliza
fn_servershareddrives para consultar
fn_servershareddrives() en una instancia de servidor en clúster:
SELECT * FROM
fn_servershareddrives();
Definición
::fn_Virtualservernodes()
Devuelve una lista de nodos de instancias en clúster de
conmutación por error en los que se puede ejecutar una instancia
de SQL Server.
Sintaxis Ejemplo
El siguiente ejemplo se utiliza
fn_virtualservernodespara consultar en
fn_virtualservernodes() una instancia de servidor en clúster:
SELECT * FROM
fn_virtualservernodes();
Definición
Formatmessage()
Construye un mensaje a partir de un mensaje existente en
sys.messages o de una cadena proporcionada. La funcionalidad de
FORMATMESSAGE se asemeja a la de la instrucción RAISERROR.
Sintaxis Ejemplo
pág. 145
FORMATMESSAGE ( { msg_number | ' Ejemplo con una cadena de mensaje
msg_string ' | @msg_variable} , [ Se aplica a: SQL Server (SQL Server
param_value [ ,...n ] ] ) 2016 (13.x) hasta la versión actual).
SELECT FORMATMESSAGE('This is
the %s and this is the %s.',
'first variable', 'second
variable') AS Result;
pág. 146
Definción
Definición
Sintaxis Ejemplo
pág. 147
El siguiente ejemplo crea una tabla que
se usa HOST_ID() en una DEFAULT
definición para registrar el ID de
terminal de las computadoras que
insertan filas en una tabla que registra
HOST_ID () pedidos.
pág. 148
Definición
Sintaxis Ejemplo
El siguiente ejemplo crea una tabla que
se usa HOST_NAME()en una
Host_Name() DEFAULTdefinición para registrar el
nombre de la estación de trabajo de las
computadoras que insertan filas en una
HOST_NAME () tabla que registra órdenes.
Definición
Ident_Current()
Devuelve el último valor de identidad generado para una tabla o
vista especificada. El último valor de identidad generado puede ser
para cualquier sesión y cualquier ámbito.
Sintaxis Ejemplo
pág. 149
IDENT_CURRENT( 'table_or_view' ) Devolver el último valor de identidad
generado para una tabla específica
USE AdventureWorks2012;
GO
SELECT IDENT_CURRENT
('Person.Address') AS
Current_Identity;
GO
pág. 150
Definición
Ident_Incr()
Devuelve el valor de incremento especificado al crear una columna
de identidad de tabla o vista.
Sintaxis Ejemplo
IDENT_INCR ( 'table_or_view' ) Devolver el valor de incremento para
una tabla específica
El siguiente ejemplo devuelve el valor
de incremento para la
Person.Addresstabla en la base de
datos AdventureWorks2012.
USE AdventureWorks2012;
GO
SELECT IDENT_INCR('Person.Address')
AS Identity_Increment;
GO
Definición
USE AdventureWorks2012;
GO
SELECT IDENT_SEED('Person.Address')
AS Identity_Seed;
GO
pág. 151
Definición
@@Identity
Es una función del sistema que devuelve el último valor de
identidad insertado.
Sintaxis Ejemplo
@@IDENTITY El siguiente ejemplo inserta una fila en
una tabla con una columna de
identidad ( LocationID) y utiliza
@@IDENTITYpara mostrar el valor de
identidad utilizado en la nueva fila.
USE AdventureWorks2012;
GO
--Display the value of LocationID
in the last row in the table.
SELECT MAX(LocationID) FROM
Production.Location;
GO
INSERT INTO Production.Location
(Name, CostRate, Availability,
ModifiedDate)
VALUES ('Damaged Goods', 5, 2.5,
GETDATE());
GO
SELECT @@IDENTITY AS 'Identity';
GO
--Display the value of LocationID
of the newly inserted row.
SELECT MAX(LocationID) FROM
Production.Location;
GO
Definición
Isnull()
Reemplaza NULL con el valor de reemplazo especificado.
Sintaxis Ejemplo
pág. 152
Uso de ISNULL con AVG
ISNULL ( check_expression , El siguiente ejemplo encuentra el
replacement_value ) promedio del peso de todos los
productos. Sustituye el valor 50de
todas las entradas NULL en la
Weightcolumna de la Producttabla.
USE AdventureWorks2012;
GO
SELECT AVG(ISNULL(Weight, 50))
FROM Production.Product;
GO
pág. 153
Definición
Isnumeric()
Determina si una expresión es un tipo numérico válido.
Sintaxis Ejemplo
ISNUMERIC ( expression ) El siguiente ejemplo utiliza
ISNUMERICpara devolver todos los
códigos postales que no son valores
numéricos.
USE AdventureWorks2012;
GO
SELECT City, PostalCode
FROM Person.Address
WHERE ISNUMERIC(PostalCode) <> 1;
GO
Definición
Newid()
Crea un valor único de tipo uniqueidentifier.
Sintaxis Ejemplo
Usando la función NEWID con una
NEWID ( ) variable
pág. 154
Definición
Sintaxis Ejemplo
pág. 155
NULLIF ( expression , expression ) Devolución de importes de presupuesto
que no contienen datos
El siguiente ejemplo crea una
budgetstabla, carga datos y utiliza
NULLIFpara devolver un valor nulo si
current_yeares nulo o contiene los
mismos datos que previous_year.
dept LastBudget
---- -----------
1 100000.00
2 null
3 0.00
4 null
5 null */
pág. 156
Definición
-- Uses AdventureWorks
SELECT
PARSENAME('AdventureWorksPDW2012.db
o.DimCustomer', 1) AS 'Object
Name';
SELECT
PARSENAME('AdventureWorksPDW2012.db
o.DimCustomer', 2) AS 'Schema
Name';
SELECT
PARSENAME('AdventureWorksPDW2012.db
o.DimCustomer', 3) AS 'Database
Name';
SELECT
PARSENAME('AdventureWorksPDW2012.db
o.DimCustomer', 4) AS 'Server
Name';
GO
Definición
Permissions()
Devuelve un valor que contiene un mapa de bits que indica los
permisos de declaración, objeto o columna del usuario actual.
Sintaxis Ejemplo
pág. 157
PERMISSIONS ( [ objectid [ , Uso de la función PERMISOS con
'column' ] ] ) permisos de declaración
IF PERMISSIONS()&2=2
CREATE TABLE test_table (col1
INT)
ELSE
PRINT 'ERROR: The current
user cannot create a table.';
pág. 158
Definición
Sintaxis Ejemplo
@@Rowcount El siguiente ejemplo ejecuta una
@@ROWCOUNT UPDATE declaración y se usa
@@ROWCOUNT para detectar si se
cambió alguna fila.
USE AdventureWorks2012;
GO
UPDATE HumanResources.Employee
SET JobTitle = N'Executive'
WHERE NationalIDNumber = 123456789
IF @@ROWCOUNT = 0
PRINT 'Warning: No rows were
updated';
GO
Definición
Sintaxis Ejemplo
ROWCOUNT_BIG ( ) SELECT ROWCOUNT_BIG ( ) ;
Definición
Scope_Identity()
Devuelve el último valor de identidad insertado en una columna de
identidad en el mismo ámbito.
Sintaxis Ejemplo
pág. 159
SCOPE_IDENTITY() Uso de @@IDENTITY y
SCOPE_IDENTITY() con replicación
Los siguientes ejemplos muestran cómo
usar @@IDENTITYy
SCOPE_IDENTITY()para inserciones en
una base de datos que se publica para
la replicación de mezcla. Ambas tablas
de los ejemplos están en la base de
datos de muestra
AdventureWorks2012Person.ContactTy
pe : no está publicada y
Sales.Customerestá publicada. La
replicación de mezcla agrega
activadores a las tablas que se
publican. Por lo tanto,
@@IDENTITYpuede devolver el valor de
la inserción en una tabla del sistema de
replicación en lugar de la inserción en
una tabla de usuario.
La Person.ContactTypetabla tiene un
valor de identidad máximo de 20. Si
inserta una fila en la tabla
@@IDENTITYy
SCOPE_IDENTITY()devuelve el mismo
valor.
USE AdventureWorks2012;
GO
INSERT INTO Person.ContactType
([Name]) VALUES ('Assistant to the
Manager');
GO
SELECT SCOPE_IDENTITY() AS
[SCOPE_IDENTITY];
GO
SELECT @@IDENTITY AS [@@IDENTITY];
GO
pág. 160
Definición
SELECT
SERVERPROPERTY('MachineName') AS
ComputerName,
SERVERPROPERTY('ServerName') AS
InstanceName,
SERVERPROPERTY('Edition') AS
Edition,
SERVERPROPERTY('ProductVersion')
AS ProductVersion,
SERVERPROPERTY('ProductLevel') AS
ProductLevel;
GO
Definición
Sessionproperty()
Devuelve la configuración de opciones SET de una sesión.
Sintaxis Ejemplo
SESSIONPROPERTY (option)
SELECT SESSIONPROPERTY
('CONCAT_NULL_YIELDS_NULL');
pág. 161
Definición
Sintaxis Ejemplo
SESSION_USER Usar SESSION_USER para devolver el
nombre de usuario de la sesión
actual
Definición
Stats_Date()
Devuelve la fecha de la actualización más reciente de las
estadísticas de una tabla o vista indexada.
Sintaxis Ejemplo
pág. 162
STATS_DATE ( object_id , stats_id ) Devolver las fechas de las
estadísticas más recientes de una
tabla
USE AdventureWorks2012;
GO
SELECT name AS stats_name,
STATS_DATE(object_id, stats_id)
AS statistics_update_date
FROM sys.stats
WHERE object_id =
OBJECT_ID('Person.Address');
GO
pág. 163
Definición
System_User()
Permite insertar en una tabla un valor proporcionado por el sistema
para el inicio de sesión actual cuando no se especifica ningún valor
predeterminado.
Sintaxis Ejemplo
SYSTEM_USER Usar SYSTEM_USER para devolver el
nombre de usuario actual del sistema
SELECT SYSTEM_USER;
Definición
@@Trancount
Devuelve el número de instrucciones BEGIN TRANSACTION que se
han producido en la conexión actual.
Sintaxis Ejemplo
pág. 164
@@TRANCOUNT Mostrar los efectos de las sentencias
BEGIN y COMMIT
PRINT @@TRANCOUNT
-- The BEGIN TRAN statement will
increment the
-- transaction count by 1.
BEGIN TRAN
PRINT @@TRANCOUNT
BEGIN TRAN
PRINT @@TRANCOUNT
-- The COMMIT statement will
decrement the transaction count by
1.
COMMIT
PRINT @@TRANCOUNT
COMMIT
PRINT @@TRANCOUNT
--Results
--0
--1
--2
--1
--0
pág. 165
Definición
Update()
Devuelve un valor booleano que indica si se intentó utilizar INSERT
o UPDATE en una columna especificada de una tabla o vista.
Sintaxis Ejemplo
UPDATE ( column ) En el ejemplo siguiente se crea un
desencadenador que imprime un
mensaje para el cliente si alguien
intenta actualizar las columnas
StateProvinceID o PostalCode de la
tabla Address.
USE AdventureWorks2012;
GO
IF EXISTS (SELECT name FROM
sys.objects
WHERE name = 'reminder' AND
type = 'TR')
DROP TRIGGER Person.reminder;
GO
CREATE TRIGGER reminder
ON Person.Address
AFTER UPDATE
AS
IF ( UPDATE (StateProvinceID) OR
UPDATE (PostalCode) )
BEGIN
RAISERROR (50009, 16, 10)
END;
GO
-- Test the trigger.
UPDATE Person.Address
SET PostalCode = 99999
WHERE PostalCode = '12345';
GO
pág. 166
Definición
User_Name()
Devuelve un nombre de usuario de la base de datos a partir de un
número de identificación especificado.
Sintaxis Ejemplo
USER_NAME ( [ id ] ) Usar NOMBRE_USUARIO
SELECT USER_NAME(13);
GO
Hierarchy Id Functions
El tipo de datos de la jerarquía es un tipo de datos del sistema de longitud variable. Este tipo de datos permite
almacenar y consultar los datos jerárquicos fácilmente. Los datos jerárquicos son un conjunto de datos
relacionados entre sí por relaciones jerárquicas.
pág. 167
Definición
Sintaxis Ejemplo
Ejemplo de Transact-SQL.
GetRoot()
El siguiente ejemplo devuelve la raíz del
árbol de jerarquía:
hierarchyid::GetRoot ( )
SELECT OrgNode.ToString() AS
Text_OrgNode, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode =
hierarchyid::GetRoot()
Definición
pág. 168
Insertar una fila como el nodo menos
descendiente.
INSERT HumanResources.EmployeeDemo
(OrgNode, LoginID, Title, HireDate)
VALUES
(@Manager.GetDescendant(NULL,
NULL),
'adventure-works\FirstNewEmployee',
'Application Intern', '3/11/07');
pág. 169
Definición
Sintaxis Ejemplo
Usar IsDescendantOf en una cláusula
WHERE
El siguiente ejemplo devuelve un
gerente y los empleados que reportan al
gerente:
IsDescendantOf()
DECLARE @Manager hierarchyid
SELECT @Manager = OrgNode FROM
child. IsDescendantOf ( parent HumanResources.EmployeeDemo
) WHERE LoginID = 'adventure-
works\dylan0'
SELECT * FROM
HumanResources.EmployeeDemo
WHERE
OrgNode.IsDescendantOf(@Manager
) = 1
Definición
Sintaxis Ejemplo
pág. 170
Devolver el nivel de jerarquía como
una columna
SELECT OrgNode.ToString() AS
Text_OrgNode,
OrgNode.GetLevel() AS EmpLevel, *
FROM HumanResources.EmployeeDemo;
pág. 171
Definición
GetAncestor()
Devuelve un id de jerarquía que representa el ancestro n de this.
Sintaxis Ejemplo
child.GetAncestor ( n ) Encontrar los nodos secundarios de
un padre
DECLARE @CurrentEmployee
hierarchyid
SELECT @CurrentEmployee = OrgNode
FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-
works\david0'
SELECT OrgNode.ToString() AS
Text_OrgNode, *
FROM HumanResources.EmployeeDemo
WHERE OrgNode.GetAncestor(1) =
@CurrentEmployee ;
Definición
Sintaxis Ejemplo
pág. 172
Comparación de dos ubicaciones de
nodos
DECLARE @SubjectEmployee
hierarchyid , @OldParent
hierarchyid, @NewParent hierarchyid
SELECT @SubjectEmployee = OrgNode
FROM HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-
works\gail0' ;
SELECT @OldParent = OrgNode FROM
HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-
works\roberto0' ; -- who is /1/1/
SELECT @NewParent = OrgNode FROM
HumanResources.EmployeeDemo
WHERE LoginID = 'adventure-
works\wanida0' ; -- who is /2/3/
SELECT OrgNode.ToString() AS
Current_OrgNode_AS_Text,
(@SubjectEmployee.
GetReparentedValue(@OldParent,
@NewParent) ).ToString() AS
Proposed_OrgNode_AS_Text,
OrgNode AS Current_OrgNode,
@SubjectEmployee.
GetReparentedValue(@OldParent,
@NewParent) AS Proposed_OrgNode,
*
FROM HumanResources.EmployeeDemo
WHERE OrgNode = @SubjectEmployee ;
GO
pág. 173
Definición
Sintaxis Ejemplo
Ejemplo de Transact-SQL en una
tabla
OrgNode Node
0x /
0x58 /1/
0x5AC0 /1/1/
0x5B40 /1/2/
0x5BC0 /1/3/
0x5C20 /1/4/
...*/
Rowset Functions
pág. 174
Un conjunto de filas es un conjunto de filas que contienen columnas de datos. Los conjuntos de filas son
objetos centrales que permiten que todos los proveedores de datos OLE DB expongan los datos del conjunto de
resultados en formato tabular.
pág. 175
Definición
Devuelve una tabla de cero, una o más filas para aquellas columnas
que contienen coincidencias precisas o aproximadas (menos
precisas) de palabras y frases individuales, la proximidad de
palabras dentro de una cierta distancia entre sí o coincidencias
ponderadas.
Containstable()
CONTAINSTABLE es útil para los mismos tipos de coincidencias que
el predicado CONTAINS y utiliza las mismas condiciones de
búsqueda que CONTAINS.
Sintaxis Ejemplo
pág. 176
CONTAINSTABLE Ejemplo sencillo
( table , { column_name | (
column_list ) | * } , ' El siguiente ejemplo crea y completa
<contains_search_condition> ' una tabla simple de dos columnas, que
[ , LANGUAGE language_term] enumera 3 condados y los colores de
[ , top_n_by_rank ] sus banderas. Luego crea y llena un
) catálogo de texto completo y un índice
en la tabla. Luego se demuestra la
<contains_search_condition> ::= sintaxis CONTAINSTABLE . Este
{ <simple_term> ejemplo demuestra cómo el valor de
| <prefix_term> clasificación aumenta cuando el valor
| <generation_term> de búsqueda se cumple varias veces.
| <generic_proximity_term> En la última consulta, Tanzania, que
| <custom_proximity_term> contiene tanto verde como negro, tiene
| <weighted_term> una clasificación más alta que Italia,
} que contiene solo uno de los colores
| { ( consultados.
<contains_search_condition> )
{ { AND | & } | { AND NOT | &! CREATE TABLE Flags (Country
} | { OR | | } } nvarchar(30) NOT NULL, FlagColors
<contains_search_condition> [ varchar(200));
...n ] CREATE UNIQUE CLUSTERED INDEX
} FlagKey ON Flags(Country);
INSERT Flags VALUES ('France',
<simple_term> ::= 'Blue and White and Red');
{ word | "phrase" } INSERT Flags VALUES ('Italy',
<prefix term> ::= 'Green and White and Red');
{ "word*" | "phrase*" } INSERT Flags VALUES ('Tanzania',
<generation_term> ::= 'Green and Yellow and Black and
FORMSOF ( { INFLECTIONAL | Yellow and Blue');
THESAURUS } , <simple_term> [ ,...n SELECT * FROM Flags;
] ) GO
<maximum_distance> ::= {
integer | MAX }
<match_order> ::= { TRUE |
FALSE }
<weighted_term> ::=
ISABOUT
( { {
<simple_term>
| <prefix_term>
| <generation_term>
| <proximity_term>
}
[ WEIGHT ( weight_value ) ]
} [ ,...n ]
)
Definición
Esta función devuelve una tabla de cero, una o más filas para
Freetexttable() aquellas columnas que contienen valores que coinciden con el
significado y no solo con la redacción exacta del texto en
el freetext_string especificado. Se hace referencia a
FREETEXTTABLE como si fuera un nombre de tabla normal.
FREETEXTTABLE es útil para los mismos tipos de coincidencias
que FREETEXT (Transact-SQL).
pág. 178
Sintaxis Ejemplo
pág. 179
El siguiente ejemplo crea y completa
una tabla simple de dos columnas, que
enumera 3 condados y los colores de
sus banderas. Luego crea y llena un
catálogo de texto completo y un índice
en la tabla. Luego se demuestra la
sintaxis de FREETEXTTABLE.
pág. 180
Definición
Sintaxis Ejemplo
Uso de OPENDATASOURCE con
SELECT y el controlador OLE DB de
SQL Server
Definición
pág. 181
Se puede hacer referencia a OPENQUERY en la cláusula FROM de
una consulta como si fuera un nombre de tabla. También se puede
hacer referencia a OPENQUERY como la tabla de destino de una
instrucción INSERT, UPDATE o DELETE. Esto está sujeto a las
Openquery() capacidades del proveedor OLE DB. Aunque la consulta puede
devolver varios conjuntos de resultados, OPENQUERY solo devuelve
el primero.
pág. 182
Sintaxis Ejemplo
pág. 183
Ejecutar una consulta de
transferencia de ACTUALIZACIÓN
pág. 184
Definición
Sintaxis Ejemplo
pág. 185
OPENROWSET Uso de OPENROWSET con SELECT y
( { 'provider_name' el proveedor OLE DB de SQL Server
, { 'datasource' ; 'user_id' ; Native Client
'password' | 'provider_string' }
, { <table_or_view> | 'query' El siguiente ejemplo utiliza el proveedor
} OLE DB de SQL Server Native Client
| BULK 'data_file' , para acceder a la
{ FORMATFILE = HumanResources.Departmenttabla en
'format_file_path' [ <bulk_options> la base de datos AdventureWorks2012
] en el servidor remoto Seattle1. (Use
| SINGLE_BLOB | SINGLE_CLOB SQLNCLI y SQL Server lo redirigirá a la
| SINGLE_NCLOB } última versión del proveedor OLE DB
} ) de SQL Server Native Client). Se
SELECTusa una declaración para
<table_or_view> ::= [ catalog. ] [ definir el conjunto de filas devuelto. La
schema. ] object cadena del proveedor contiene las
palabras clave Servery
<bulk_options> ::= Trusted_Connection. Estas palabras
clave son reconocidas por el proveedor
[ , DATASOURCE = OLE DB de SQL Server Native Client.
'data_source_name' ]
SELECT a.*
[ , ERRORFILE = 'file_name' ] FROM OPENROWSET('SQLNCLI',
[ , ERRORFILE_DATA_SOURCE = 'Server=Seattle1;Trusted_Connection
'data_source_name' ] =yes;',
[ , MAXERRORS = maximum_errors ] 'SELECT GroupName, Name,
DepartmentID
[ , FIRSTROW = first_row ] FROM
[ , LASTROW = last_row ] AdventureWorks2012.HumanResources.D
[ , ROWS_PER_BATCH = epartment
rows_per_batch ] ORDER BY GroupName,
[ , ORDER ( { column [ ASC | Name') AS a;
DESC ] } [ ,...n ] ) [ UNIQUE ] ]
pág. 187
Definición
Openxml()
OPENXML proporciona una vista de conjunto de filas sobre un
documento XML. Dado que OPENXML es un proveedor de conjuntos
de filas, OPENXML se puede usar en instrucciones Transact-SQL en
las que pueden aparecer proveedores de conjuntos de filas, como
una tabla, una vista o la función OPENROWSET.
Sintaxis Ejemplo
pág. 188
Usar una instrucción SELECT simple
con OPENXML.
pág. 189
-- Execute a SELECT statement that
uses the OPENXML rowset provider.
SELECT *
FROM OPENXML (@idoc,
'/ROOT/Customer',1)
WITH (CustomerID
VARCHAR(10),
ContactName
VARCHAR(20));
pág. 190
Definición
Una función con valores de tabla que divide una cadena en filas de
String_Split() subcadenas, en función de un carácter separador especificado.
Sintaxis Ejemplo
Cadena de valores separados por
comas dividida
Analice una lista de valores separados
por comas y devuelva todos los tokens
que no estén vacíos:
STRING_SPLIT ( string ,
separator [ , enable_ordinal ] DECLARE @tags NVARCHAR(400) =
) 'clothing,road,,touring,bike'
SELECT value
FROM STRING_SPLIT(@tags, ',')
WHERE RTRIM(value) <> '';
Definición
Sintaxis Ejemplo
pág. 191
CHANGETABLE ( Listado de todos los cambios que se
{ CHANGES <table_name> , hicieron desde una versión
<last_sync_version> específica.
| VERSION <table_name> ,
<primary_key_values> } El siguiente ejemplo enumera todos los
, [ FORCESEEK ] cambios que se realizaron en una tabla
) desde la versión especificada (
[AS] <table_alias> [ ( @last_sync_version). [Emp ID] y SSN
<column_alias> [ ,...n ] ) son columnas en una clave primaria
compuesta.
<primary_key_values> ::=
( <column_name> [ , ...n ] ) , DECLARE @last_sync_version bigint;
( <value> [ , ...n ] ) SET @last_sync_version = <value
obtained from query>;
SELECT [Emp ID], SSN,
SYS_CHANGE_VERSION,
SYS_CHANGE_OPERATION,
SYS_CHANGE_COLUMNS,
SYS_CHANGE_CONTEXT
FROM CHANGETABLE (CHANGES
Employees, @last_sync_version)
AS C;
pág. 192
Definición
CHANGETABLE(VERSION)
Devuelve información de seguimiento de cambios para una
tabla. Puede usar esta declaración para devolver todos los cambios
de una tabla o cambiar la información de seguimiento de una fila
específica.
Sintaxis Ejemplo
Detectar conflictos usando
CHANGETABLE(VERSION...)
pág. 193
Security Functions
Las siguientes funciones devuelven información que es útil para administrar la seguridad. Las funciones
adicionales se enumeran en Funciones criptográficas.
pág. 194
Definición
::fn_Trace_Geteventinfo()
Devuelve información sobre un evento que se está rastreando.
Sintaxis Ejemplo
fn_trace_geteventinfo ( trace_id ) El siguiente ejemplo devuelve
información sobre el seguimiento
número 2.
SELECT * FROM
fn_trace_geteventinfo(2) ;
GO
Definición
::fn_Trace_Getfilterinfo()
Devuelve información sobre los filtros aplicados a un seguimiento
especificado.
Sintaxis Ejemplo
fn_trace_getfilterinfo ( trace_id ) El siguiente ejemplo devuelve
información sobre todos los filtros en el
seguimiento número 2.
SELECT * FROM
fn_trace_getfilterinfo(2) ;
GO
Definición
::fn_Trace_Getinfo()
Devuelve información sobre un seguimiento especificado o todos los
seguimientos existentes.
Sintaxis Ejemplo
pág. 195
sys.fn_trace_getinfo ( { trace_id | El siguiente ejemplo devuelve
NULL | 0 | DEFAULT } ) información sobre todos los
seguimientos activos.
SELECT * FROM
sys.fn_trace_getinfo(0) ;
GO
pág. 196
Definición
::fn_Trace_Gettable()
Devuelve el contenido de uno o más archivos de rastreo en formato
tabular.
Sintaxis Ejemplo
fn_trace_gettable ( 'filename' , Uso de fn_trace_gettable para
number_files ) importar filas desde un archivo de
seguimiento
USE AdventureWorks2012;
GO
SELECT * INTO temp_trc
FROM
fn_trace_gettable('c:\temp\mytrace.
trc', default);
GO
Definición
Has_Dbaccess()
Devuelve información sobre si el usuario tiene acceso a la base de
datos especificada.
Sintaxis Ejemplo
HAS_DBACCESS ( 'database_name' ) El siguiente ejemplo prueba si el
usuario actual tiene acceso a la base de
AdventureWorks2012datos.
SELECT
HAS_DBACCESS('AdventureWorks2012');
GO
Definición
pág. 197
original_db_name() Devuelve el nombre de la base de datos especificado por el usuario
en la cadena de conexión de la base de datos. Esta base de datos se
especifica mediante la opción sqlcmd-d (USE base de datos ).
pág. 198
Sintaxis Ejemplo
pág. 199
ORIGINAL_DB_NAME () Si no se especifica la base de datos
inicial, la función devuelve una cadena
vacía.
pág. 200
Definición
Is_Member()
Indica si el usuario actual es miembro del grupo de Microsoft Windows
especificado o del rol de la base de datos de SQL Server.
Sintaxis Ejemplo
IS_MEMBER ( { 'group' | 'role' } ) El siguiente ejemplo comprueba si el
usuario actual es miembro de un rol de
base de datos o un grupo de dominio de
Windows.
Definición
Is_Srvrolemember()
Indica si un inicio de sesión de SQL Server es miembro del rol de
servidor especificado.
Sintaxis Ejemplo
pág. 201
IS_SRVROLEMEMBER ( 'role' [ , El siguiente ejemplo indica si el inicio
'login' ] ) de sesión de SQL Server para el usuario
actual es miembro del sysadminrol de
servidor fijo.
IF IS_SRVROLEMEMBER ('sysadmin') =
1
print 'Current user''s login is
a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER
('sysadmin') = 0
print 'Current user''s login is
NOT a member of the sysadmin role'
ELSE IF IS_SRVROLEMEMBER
('sysadmin') IS NULL
print 'ERROR: The server role
specified is not valid.';
pág. 202
Definición
Suser_Sid()
Devuelve el número de identificación de seguridad (SID) del nombre
de inicio de sesión especificado.
Sintaxis Ejemplo
SUSER_SID ( [ 'login' ] [ , Param2 Usar SUSER_SID
] )
El siguiente ejemplo devuelve el
número de identificación de seguridad
(SID) para el contexto de seguridad
actual.
SELECT SUSER_SID();
Definición
Suser_Sname()
Devuelve el nombre de inicio de sesión asociado con un número de
identificación de seguridad (SID).
Sintaxis Ejemplo
SUSER_SNAME ( [ server_user_sid ] ) Uso de SUSER_SNAME
El siguiente ejemplo devuelve el nombre
de inicio de sesión para el contexto de
seguridad actual.
SELECT SUSER_SNAME();
GO
Definición
User()
Permite insertar en una tabla un valor proporcionado por el sistema
para el nombre de usuario de la base de datos del usuario actual
cuando no se especifica ningún valor predeterminado.
Sintaxis Ejemplo
pág. 203
USER Usar USER para devolver el nombre
de usuario de la base de datos
pág. 204
Definición
User_Id()
Devuelve el número de identificación de un usuario de la base de
datos.
Sintaxis Ejemplo
USER_ID ( [ 'user' ] ) El siguiente ejemplo devuelve el
número de identificación del
AdventureWorks2012usuario Harold.
USE AdventureWorks2012;
SELECT USER_ID('Harold');
GO
Definición
User_Name()
Devuelve un nombre de usuario de la base de datos a partir de un
número de identificación especificado.
Sintaxis Ejemplo
USER_NAME ( [ id ] ) Usar NOMBRE_USUARIO
SELECT USER_NAME(13);
GO
String Functions
Las siguientes funciones escalares realizan una operación en un valor de entrada de cadena y devuelven una
cadena o un valor numérico:
pág. 205
Definición
Ascii()
Devuelve el valor del código ASCII del carácter más a la izquierda de
una expresión de carácter.
Sintaxis Ejemplo
ASCII ( character_expression ) Este ejemplo asume un conjunto de
caracteres ASCII y devuelve el
ASCIIvalor de 6 caracteres.
Definición
pág. 206
Definición
Sintaxis Ejemplo
Charindex() CHARINDEX ( expressionToFind , Devolver la posición inicial de una
expressionToSearch [ , expresión
start_location ] )
Este ejemplo busca bicycle en la
variable de valor de cadena buscada
@document.
Definición
Difference()
Esta función devuelve un valor entero que mide la diferencia entre
los valores SOUNDEX() de dos expresiones de caracteres diferentes.
Sintaxis Ejemplo
pág. 207
DIFFERENCE ( character_expression , La primera parte de este ejemplo
character_expression ) compara los SOUNDEXvalores de dos
cadenas muy similares. Para una
intercalación Latin1_General,
DIFFERENCEdevuelve un valor de 4. La
segunda parte del ejemplo compara los
SOUNDEXvalores de dos cadenas muy
diferentes y, para una intercalación
Latin1_General, DIFFERENCEdevuelve
un valor de 0.
pág. 208
Definición
Left()
Devuelve la parte izquierda de una cadena de caracteres con el
número de caracteres especificado.
Sintaxis Ejemplo
LEFT ( character_expression , Usar left con una columna
integer_expression )
El siguiente ejemplo devuelve los cinco
caracteres más a la izquierda de cada
nombre de producto en la Producttabla
de la base de datos
AdventureWorks2012.
SELECT LEFT(Name, 5)
FROM Production.Product
ORDER BY ProductID;
GO
Definición
Len()
Devuelve el número de caracteres de la expresión de cadena
especificada, sin incluir los espacios finales.
Sintaxis Ejemplo
LEN ( string_expression ) El siguiente ejemplo selecciona el
número de caracteres y los datos
FirstNamede las personas ubicadas en
Australia. Este ejemplo utiliza la base
de datos AdventureWorks.
pág. 209
Definición
Lower()
Devuelve una expresión de carácter después de convertir los datos
de caracteres en mayúsculas a minúsculas.
Sintaxis Ejemplo
LOWER ( character_expression ) El siguiente ejemplo usa la
LOWERfunción, la UPPERfunción y
anida la UPPERfunción dentro de la
LOWERfunción al seleccionar nombres
de productos que tienen precios entre
$11 y $20.
-- Uses AdventureWorks
SELECT
LOWER(SUBSTRING(EnglishProductName,
1, 20)) AS Lower,
UPPER(SUBSTRING(EnglishProductName,
1, 20)) AS Upper,
LOWER(UPPER(SUBSTRING(EnglishProduc
tName, 1, 20))) As LowerUpper
FROM dbo.DimProduct
WHERE ListPrice between 11.00 and
20.00;
Definición
Ltrim()
Devuelve una expresión de carácter después de eliminar los
espacios en blanco iniciales.
Sintaxis Ejemplo
LTRIM ( character_expression ) El siguiente ejemplo usa LTRIM para
eliminar los espacios iniciales de una
expresión de caracteres.
pág. 210
Definición
Nchar()
Devuelve el carácter Unicode con el código entero especificado, tal
como lo define el estándar Unicode.
Sintaxis Ejemplo
NCHAR ( integer_expression ) Uso de NCHAR y UNICODE
NCHAR(UNICODE(SUBSTRING(@nstring,
2, 1)));
GO
Definición
Sintaxis Ejemplo
pág. 211
Ejemplo sencillo de PATINDEX.
/*
position
--------
3
*/
Definición
Quotename()
Devuelve una cadena Unicode con los delimitadores agregados para
convertir la cadena de entrada en un identificador delimitado de
SQL Server válido.
pág. 212
Sintaxis Ejemplo
pág. 213
QUOTENAME ( 'character_string' El siguiente ejemplo toma la cadena de
[ , 'quote_character' ] ) caracteres abc[]defy usa los caracteres
[y ]para crear un identificador
delimitado de SQL Server válido.
SELECT QUOTENAME('abc[]def');
pág. 214
Definición
Replace()
Reemplaza todas las apariciones de un valor de cadena especificado
con otro valor de cadena.
Sintaxis Ejemplo
REPLACE ( string_expression , El siguiente ejemplo reemplaza la
string_pattern , string_replacement cadena cdecon .abcdefghicdexxx
)
SELECT
REPLACE('abcdefghicde','cde','xxx')
;
GO
Definición
Sintaxis Ejemplo
Replicate() REPLICATE ( string_expression , Usando REPLICATE
integer_expression )
El siguiente ejemplo replica un
0carácter cuatro veces delante de un
código de línea de producción en la
base de datos AdventureWorks2012.
SELECT [Name]
, REPLICATE('0', 4) + [ProductLine]
AS 'Line Code'
FROM [Production].[Product]
WHERE [ProductLine] = 'T'
ORDER BY [Name];
GO
pág. 215
Definición
Reverse()
Devuelve el orden inverso de un valor de cadena.
Sintaxis Ejemplo
REVERSE ( string_expression) El siguiente ejemplo devuelve todos los
nombres de contacto con los caracteres
invertidos. Este ejemplo usa la base de
datos AdventureWorks2012.
SELECT FirstName,
REVERSE(FirstName) AS Reverse
FROM Person.Person
WHERE BusinessEntityID < 5
ORDER BY FirstName;
GO
Definición
Right()
Devuelve la parte derecha de una cadena de caracteres con el
número de caracteres especificado.
Sintaxis Ejemplo
RIGHT ( character_expression , Usar RIGHT con una columna
integer_expression )
El siguiente ejemplo devuelve los cinco
caracteres más a la derecha del nombre
de cada persona en la base de datos
AdventureWorks2012.
SELECT RIGHT(FirstName, 5) AS
'First Name'
FROM Person.Person
WHERE BusinessEntityID < 5
ORDER BY FirstName;
GO
pág. 216
Definición
Definición
Soundex()
Devuelve un código de cuatro caracteres (SOUNDEX) para evaluar
la similitud de dos cadenas.
Sintaxis Ejemplo
SOUNDEX ( character_expression ) El siguiente ejemplo muestra la función
SOUNDEX y la función DIFERENCIA
relacionada. En el primer ejemplo,
SOUNDEXse devuelven los valores
estándar para todas las consonantes.
Devolver SOUNDEXfor Smithy
Smythedevuelve el mismo resultado de
SOUNDEX porque todas las vocales, la
letra y, las letras duplicadas y la letra
h, no están incluidas.
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX
('Smythe');
pág. 217
Definición
Sintaxis Ejemplo
Space() SPACE ( integer_expression ) El siguiente ejemplo recorta los
apellidos y concatena una coma, dos
espacios y los nombres de las personas
enumeradas en la Persontabla en
AdventureWorks2012.
USE AdventureWorks2012;
GO
SELECT RTRIM(LastName) + ',' +
SPACE(2) + LTRIM(FirstName)
FROM Person.Person
ORDER BY LastName, FirstName;
GO
Definición
Str()
Devuelve datos de caracteres convertidos a partir de datos
numéricos. Los datos de caracteres están justificados a la derecha,
con una longitud especificada y una precisión decimal.
Sintaxis Ejemplo
STR ( float_expression [ , length [ El siguiente ejemplo convierte una
, decimal ] ] ) expresión compuesta por cinco dígitos
y un punto decimal en una cadena de
caracteres de seis posiciones. La parte
fraccionaria del número se redondea a
un decimal.
pág. 218
Definición
Una función con valores de tabla que divide una cadena en filas de
String_Split() subcadenas, en función de un carácter separador especificado.
Sintaxis Ejemplo
Cadena de valores separados por
comas dividida
Analice una lista de valores separados
por comas y devuelva todos los tokens
que no estén vacíos:
STRING_SPLIT ( string ,
separator [ , enable_ordinal ] DECLARE @tags NVARCHAR(400) =
) 'clothing,road,,touring,bike'
SELECT value
FROM STRING_SPLIT(@tags, ',')
WHERE RTRIM(value) <> '';
Definición
Stuff()
La función STUFF inserta una cadena dentro de otra cadena.
Elimina una longitud específica de caracteres en la primera cadena
en la posición de inicio y luego inserta la segunda cadena en la
primera cadena en la posición de inicio.
Sintaxis Ejemplo
STUFF ( character_expression , El siguiente ejemplo devuelve una
start , length , cadena de caracteres creada al eliminar
replaceWith_expression ) tres caracteres de la primera cadena
abcdef, comenzando en la posición 2,
en be insertando la segunda cadena en
el punto de eliminación.
SELECT STUFF('abcdef', 2, 3,
'ijklmn');
GO
pág. 219
Definición
Substring()
Devuelve parte de una expresión de carácter, binario, texto o
imagen en SQL Server.
Sintaxis Ejemplo
SUBSTRING ( expression ,start , El siguiente ejemplo muestra cómo
length ) devolver solo una parte de una cadena
de caracteres. Desde la
sys.databasestabla, esta consulta
devuelve los nombres de la base de
datos del sistema en la primera
columna, la primera letra de la base de
datos en la segunda columna y el
tercer y cuarto carácter en la columna
final.
Definición
Unicode()
Devuelve el valor entero, tal como lo define el estándar Unicode,
para el primer carácter de la expresión de entrada.
Sintaxis Ejemplo
pág. 220
UNICODE ( 'ncharacter_expression' ) Usando UNICODE y la función
NCHAR
pág. 221
Definición
Upper()
Devuelve una expresión de caracteres con datos de caracteres en
minúsculas convertidos a mayúsculas.
Sintaxis Ejemplo
UPPER ( character_expression ) El siguiente ejemplo usa las funciones
UPPERy RTRIMpara devolver el apellido
de las personas en la
dbo.DimEmployeetabla para que esté
en mayúsculas, recortado y
concatenado con el nombre.
-- Uses AdventureWorks
Definición
Trim()
Elimina el carácter de espacio char(32)u otros caracteres
especificados del principio y el final de una cadena.
Sintaxis Ejemplo
-- Syntax for SQL Server and Azure Elimina el carácter de espacio de
SQL Database ambos lados de la cadena
TRIM ( [ characters FROM ] string )
El siguiente ejemplo elimina los
-- Syntax for Azure Synapse espacios antes y después de la palabra
Analytics test.
TRIM ( string )
SELECT TRIM( ' test ') AS
Result;
pág. 222
Definición
ConcatWs()
Esta función devuelve una cadena que resulta de la concatenación o
unión de dos o más valores de cadena de un extremo a otro. Separa
esos valores de cadena concatenados con el delimitador especificado
en el primer argumento de la función. ( CONCAT_WSindica
concatenar con separador ).
Sintaxis Ejemplo
CONCAT_WS ( separator, argument1, Concatenar valores con separador
argument2 [, argumentN]... Este ejemplo concatena tres columnas
de la tabla sys.databases, separando
los valores con un -.
Todas las funciones estadísticas del sistema son no deterministas. Esto significa que estas funciones no
siempre devuelven los mismos resultados cada vez que se las llama, incluso con el mismo conjunto de valores
de entrada.
pág. 223
Definición
Sintaxis Ejemplo
Este ejemplo devuelve el recuento de
intentos de inicio de sesión a partir de
@@Connections la fecha y hora actuales.
Definición
Sintaxis Ejemplo
pág. 224
Este ejemplo devuelve la actividad de la
CPU de SQL Server, a partir de la fecha
y hora actuales. El ejemplo convierte
uno de los valores al floattipo de datos.
Esto evita problemas de
desbordamiento aritmético al calcular
un valor en microsegundos.
pág. 225
Definición
SELECT *
FROM fn_virtualfilestats(1, 1);
GO
Definición
Sintaxis Ejemplo
pág. 226
El siguiente ejemplo muestra la
devolución del número de milisegundos
que SQL Server estuvo inactivo entre la
hora de inicio y la hora actual. Para
evitar el desbordamiento aritmético al
@@IDLE convertir el valor a microsegundos, el
ejemplo convierte uno de los valores al
floattipo de datos.
pág. 227
Definición
Sintaxis Ejemplo
@@Io_Busy El siguiente ejemplo muestra la
devolución del número de milisegundos
que SQL Server ha dedicado a realizar
operaciones de entrada/salida entre la
hora de inicio y la hora actual. Para
evitar el desbordamiento aritmético al
convertir el valor a microsegundos, el
ejemplo convierte uno de los valores al
@@IO_BUSY tipo de datos flotante.
Definición
Sintaxis Ejemplo
pág. 228
El siguiente ejemplo muestra el uso de
@@PACK_RECEIVED.
pág. 229
Definición
Definición
Sintaxis Ejemplo
@@Packet_Errors El siguiente ejemplo muestra el uso de
@@PACKET_ERRORS.
pág. 230
Sintaxis Ejemplo
pág. 231
SELECT @@TIMETICKS AS 'Time
@@TIMETICKS Ticks';
pág. 232
Definición
Sintaxis Ejemplo
Este ejemplo muestra la cantidad de
errores encontrados por SQL Server en
la fecha y hora actuales.
@@Total_Errors SELECT @@TOTAL_ERRORS AS 'Errors',
@@TOTAL_ERRORS GETDATE() AS 'As of';
/*Aquí está el conjunto de
resultados.
Errors As of
----------- ----------------------
0 3/28/2003 12:32:11
PM */
Definición
Sintaxis Ejemplo
pág. 233
El siguiente ejemplo muestra la
devolución del número total de lecturas
y escrituras en disco a partir de la
fecha y hora actuales.
@@TOTAL_READ
SELECT @@TOTAL_READ AS 'Reads',
@@TOTAL_WRITE AS 'Writes',
GETDATE() AS 'As of';
/*Aquí está el conjunto de
resultados.
Reads Writes As of
@@Total_Read ----------- ----------- -----------
-----------
7760 97263
12/5/2006 10:23:00 PM */
Definición
Sintaxis Ejemplo
El siguiente ejemplo muestra la
@@Total_Write devolución del número total de lecturas
y escrituras de disco a partir de la
@@TOTAL_WRITE fecha y hora actuales.
pág. 234
Text and Image Functions
Las funciones de texto e imagen operan en los tipos de datos TEXT, NTEXT e IMAGE.
pág. 235
Definición
Sintaxis Ejemplo
Ejemplo sencillo de PATINDEX.
/*
position
--------
3
*/
Definición
Sintaxis Ejemplo
pág. 236
Uso de TEXTPTR.
pág. 237
Definición
Sintaxis Ejemplo
TEXTVALID ( 'table.column' El siguiente ejemplo informa si existe
Textvalid() ,text_ ptr ) un puntero de texto válido para cada
valor en la logocolumna de la
pub_infotabla.
USE pubs;
GO
SELECT pub_id, 'Valid (if 1) Text
data'
= TEXTVALID ('pub_info.logo',
TEXTPTR(logo))
FROM pub_info
ORDER BY pub_id;
GO
pág. 238
Bibliografía
Docs Microsoft. (2022). Obtenido de https://docs.microsoft.com/en-us/sql/t-
sql/functions/security-functions-transact-sql?view=sql-server-ver16
Freedomtutorials. (s.f.). Obtenido de
http://www.freedomtutorials.com/sqlserver/text-and-image-
functions.php
InterSystems Documentation. (2021). Obtenido de
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.P
age.cls?KEY=RSQL_CAST
Microsoft. (27 de 05 de 2022). Obtenido de https://docs.microsoft.com/en-
us/sql/t-sql/functions/string-functions-transact-sql?view=sql-server-
ver16
Microsoft. (27 de 05 de 2022). Obtenido de https://docs.microsoft.com/en-
us/sql/t-sql/functions/system-functions-transact-sql?view=sql-
server-ver16
Microsoft. (27 de 05 de 2022). Obtenido de https://docs.microsoft.com/en-
us/sql/t-sql/functions/system-statistical-functions-transact-
sql?view=sql-server-ver16
Microsoft.com. (26 de 02 de 2022). Obtenido de
https://docs.microsoft.com/en-us/sql/t-
sql/functions/functions?view=sql-server-ver16
SQLSERVER TUTORIAL.NET. (s.f.). Obtenido de
https://www.sqlservertutorial.net/sql-server-system-functions/
W3schools.com. (s.f.). Obtenido de
https://www.w3schools.com/sql/func_sqlserver_cast.asp
Conclusión
Esta investigación se realizo lo mas cuidadosa posible, por lo cual cada
comando tiene su ejemplo de uso, para poder recordar para que se utiliza
cada uno.
Las funciones de sistema de SQL server son muchas y siempre varean
dependiendo la versión que se maneje, esta investigación se reflejo en SQL
Server Management Studio 18. Por lo cual algunas funciones no reconoce
y estas se podrán activar o d lo contrario verificar que se pueda activar en
la versión requerida.
pág. 239