0% encontró este documento útil (0 votos)
181 vistas43 páginas

Funciones SQL

Este documento describe las funciones de agregado y de cadena de Transact-SQL. Incluye funciones de agregado como AVG, COUNT, MAX, MIN, SUM, que calculan valores estadísticos sobre grupos de filas. También describe funciones de cadena como CHAR, CHARINDEX, CONCAT, FORMAT, que manipulan y analizan cadenas. En general, este documento proporciona una referencia de las funciones incorporadas de Transact-SQL para agregar y analizar datos.

Cargado por

Manuel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
181 vistas43 páginas

Funciones SQL

Este documento describe las funciones de agregado y de cadena de Transact-SQL. Incluye funciones de agregado como AVG, COUNT, MAX, MIN, SUM, que calculan valores estadísticos sobre grupos de filas. También describe funciones de cadena como CHAR, CHARINDEX, CONCAT, FORMAT, que manipulan y analizan cadenas. En general, este documento proporciona una referencia de las funciones incorporadas de Transact-SQL para agregar y analizar datos.

Cargado por

Manuel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

FUNCIONES TRANSACT-SQL

Funciones de Agregado

- AVG

Devuelve el promedio de los valores de un grupo. Se omite los valores NULL.

Sintaxis

AVG ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT AVG(Vacations) AS ‘Average vacation hours’,

SUM(SickLeaveHours) AS ‘Total sick leave hours’

FROM [Link]

WHERE JobTitle LIKE ‘Vice President%’;

Average vacation hours Total sick leave hours

25 97

- CHECKSUM_AGG

Devuelve la suma de comprobación de los valores de un grupo. Se omiten los valores NULL.
Puede ir seguida de la cláusula OVER.

Sintaxis

CHECKSUM_AGG ( [ ALL | DISTINCT ] expression )

Ejemplo

Get the checksum value before the column value is changed.

SELECT CHECKSUM_AGG (CAST (Quantity AS int) )

FROM [Link];

GO

262

- COUNT

Devuelve el número de elementos de un grupo. COUNT funciona como el COUNT_BIG


función. La única diferencia entre ambas funciones está en los valores devueltos. COUNT
siempre devuelve un int valor de tipo de datos. COUNT_BIG siempre devuelve un bigint valor
de tipo de datos.

Sintaxis

COUNT ( { [ ALL | DISTINCT ] expression ] | * } )


[ OVER (

[ partition_by_clause ]

[ order_by_clause ]

[ ROW_or_RANGE_clause ]

)]

Ejemplo

SELECT COUNT (DISTINCT Title)

FROM [Link];

GO

67

- COUNT_BIG

Devuelve el número de elementos de un grupo. COUNT_BIG funciona como COUNT. La única


diferencia entre ambas funciones está en los valores devueltos. COUNT_BIG siempre
devuelve un bigint valor de tipo de datos. COUNT siempre devuelve un int valor de tipo de
datos.

Sintaxis

COUNT_BIG ( { [ ALL | DISTINCT ] expression } | * )

[ OVER ( [ partition_by_clause ] [ order_by_clause ] ) ]

- GROUPING

Indica si una expresión de columna especificada en una lista GROUP BY es agregada o no.
GROUPING devuelve 1 para agregado y 0 para no agregado, en el conjunto de resultados.
Agrupación puede usarse solo en la instrucción SELECT <seleccione> enumerar, HAVING y se
ordena por cláusulas cuando se especifica GROUP BY.

Sintaxis

GROUPING ( <column_expression> )

Ejemplo

SELECT SalesQuota, SUM(SalesYTD) ‘TotalSalesYTD’, GROUPING(SalesQuota) AS ‘Grouping’

FROM [Link]

GROUP BY SalesQuota WITH ROLLUP;

GO

SalesQuota TotalSalesYTD Grouping

NULL 1533087.5999 0
250000.00 33461260.59 0

300000.00 9299677.9445 0

NULL 44294026 1

- GROUPING_ID

Es una función que calcula el nivel de agrupación. GROUPING_ID puede utilizarse únicamente
en la instrucción SELECT <seleccione> enumerar, HAVING, o si se ORDENA por cláusulas
cuando se especifica GROUP BY.

Sintaxis

GROUPING_ID ( <column_expression> [ ,…n ] )

- MAX

Devuelve el valor máximo de la expresión.

Sintaxis

MAX ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT MAX (TaxRate)

FROM [Link];

GO

19.60

Warning, null value eliminated from aggregate.

- MIN

Devuelve el valor mínimo de la expresión. Puede ir seguido por el cláusula OVER.

Sintaxis

MIN ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT MIN(TaxRate)

FROM [Link];

GO

5.00
STDEV

Devuelve la desviación típica de todos los valores de la expresión especificada.

Sintaxis

STDEV ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT STDEV (Bonus)

FROM [Link];

GO

STDEVP

Devuelve la desviación típica estándar para la población de todos los valores de la expresión
especificada.

Sintaxis

STDEVP ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT STDEVP (Bonus)

FROM [Link];

GO

SUM

Devuelve la suma de todos los valores o solo de los valores DISTINCT de la expresión. SUM
solo puede utilizarse con columnas numéricas. Se omiten los valores NULL.

Sintaxis

SUM ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT Color, SUM(ListPrice), SUM(StandardCost)

FROM [Link]

WHERE Color IS NOT NULL

AND ListPrice ¡= 0.00

AND Name LIKE ‘Mountain%’

GROUP BY Color
ORDER BY Color;

GO

Color

Black 27404.84 5214.9616

Silver 26462.84 14665.6792

White 19.00 6.7926

VAR

Devuelve la varianza estadística de todos los valores de la expresión especificada. Puede ir


seguido por el cláusula OVER.

Sintaxis

VAR ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT VAR (Bonus)

FROM [Link];

GO

VARP

Devuelve la varianza estadística de la población para todos los valores de la expresión


especificada.

Sintaxis

VARP ( [ ALL | DISTINCT ] expression )

OVER ( [ partition_by_clause ] order_by_clause )

Ejemplo

SELECT VARP (Bonus)

FROM [Link];

GO
FUNCIONES DE CADENA

ASCII

Sintaxis
SQL
ASCII ( character_expression )

Ejemplo
SQL
SELECT ASCII('A') AS A, ASCII('B') AS B,
ASCII('a') AS a, ASCII('b') AS b,
ASCII(1) AS [1], ASCII(2) AS [2];

El conjunto de resultados es el siguiente.

SQL
A B a b 1 2
----------- ----------- ----------- ----------- ----------- -----------
65 66 97 98 49 50

CHAR

Sintaxis
SQL
CHAR ( integer_expression )

Ejemplo
SQL
SET TEXTSIZE 0;
-- Create variables for the character string and for the current
-- position in the string.
DECLARE @position int, @string char(8);
-- Initialize the current position and the string variables.
SET @position = 1;
SET @string = 'New Moon';
WHILE @position <= DATALENGTH(@string)
BEGIN
SELECT ASCII(SUBSTRING(@string, @position, 1)),
CHAR(ASCII(SUBSTRING(@string, @position, 1)))
SET @position = @position + 1
END;
GO

El conjunto de resultados es el siguiente.

SQL
----------- -
78 N
----------- -
101 e
----------- -
119 w
----------- -
32
----------- -
77 M
----------- -
111 o
----------- -
111 o
----------- -
110 n

CHARINDEX

Sintaxis
SQL
CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )

Ejemplo
SQL
DECLARE @document varchar(64);
SELECT @document = 'Reflectors are vital safety' +
' components of your bicycle.';
SELECT CHARINDEX('bicycle', @document);
GO

El conjunto de resultados es el siguiente.

SQL
-----------
48

CONCAT
Devuelve una cadena que es el resultado de concatenar dos o más valores de cadena. (Para agregar un valor
de separación durante la concatenación, consulte CONCAT_WS.)

Sintaxis
SQL
CONCAT ( string_value1, string_value2 [, string_valueN ] )

Ejemplo
SQL
SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result;

El conjunto de resultados es el siguiente.

SQL
Result
-------------------------
Happy Birthday 11/25
(1 row(s) affected)

CONCAT_WS

Sintaxis
SQL
CONCAT_WS ( separator, argument1, argument1 [, argumentN]… )

Ejemplo
En el ejemplo siguiente se concatenan tres columnas de la tabla [Link], separe los valores con un -.

SQL
SELECT CONCAT_WS( ' - ', database_id, recovery_model_desc, containment_desc) AS
DatabaseInfo
FROM [Link];

El conjunto de resultados es el siguiente.

DatabaseInfo
1 - SIMPLE - NINGUNO
2 - SIMPLE - NINGUNO
3 - FULL - NINGUNO
4 - SIMPLE - NINGUNO

DIFFERENCE
Devuelve un valor entero que indica la diferencia entre los valores de SOUNDEX de dos expresiones de
caracteres.

Convenciones de sintaxis de Transact-SQL

Sintaxis
DIFFERENCE ( character_expression , character_expression )

Ejemplo
En la primera parte del ejemplo siguiente, se comparan los valores de SOUNDEX de dos cadenas muy
similares. Para una intercalación Latin1_General DIFFERENCE devuelve un valor de 4. En la segunda parte
del ejemplo siguiente, la SOUNDEX valores para que se comparan dos cadenas muy diferentes y una
intercalación Latin1_General DIFFERENCE devuelve un valor de 0.

-- Returns a DIFFERENCE value of 4, the least possible difference.


SELECT SOUNDEX('Green'), SOUNDEX('Greene'), DIFFERENCE('Green','Greene');
GO
-- Returns a DIFFERENCE value of 0, the highest possible difference.
SELECT SOUNDEX('Blotchet-Halls'), SOUNDEX('Greene'), DIFFERENCE('Blotchet-Halls',
'Greene');
GO
El conjunto de resultados es el siguiente.

----- ----- -----------


G650 G650 4

(1 row(s) affected)

----- ----- -----------


B432 G650 0

(1 row(s) affected)

FORMAT
Devuelve un valor con formato con el formato y la referencia cultural opcional especificados en SQL Server
2017. Use la función FORMAT para aplicar formato específico de la configuración regional de los valores
de fecha/hora y de número como cadenas. Para las conversiones de tipos de datos generales, use CAST o
CONVERT.

Convenciones de sintaxis de Transact-SQL

Sintaxis
FORMAT ( value, format [, culture ] )

Ejemplo

En el ejemplo siguiente se devuelve una fecha simple con formato para distintas referencias culturales.

SQL
DECLARE @d DATETIME = '10/01/2011';
SELECT FORMAT ( @d, 'd', 'en-US' ) AS 'US English Result'
,FORMAT ( @d, 'd', 'en-gb' ) AS 'Great Britain English Result'
,FORMAT ( @d, 'd', 'de-de' ) AS 'German Result'
,FORMAT ( @d, 'd', 'zh-cn' ) AS 'Simplified Chinese (PRC) Result';

SELECT FORMAT ( @d, 'D', 'en-US' ) AS 'US English Result'


,FORMAT ( @d, 'D', 'en-gb' ) AS 'Great Britain English Result'
,FORMAT ( @d, 'D', 'de-de' ) AS 'German Result'
,FORMAT ( @d, 'D', 'zh-cn' ) AS 'Chinese (Simplified PRC) Result';

El conjunto de resultados es el siguiente.

US English Result Great Britain English Result German Result Simplified Chinese (PRC)
Result
---------------- ----------------------------- -------------
-------------------------------------
10/1/2011 01/10/2011 01.10.2011 2011/10/1

(1 row(s) affected)

LEFT
Devuelve la parte izquierda de una cadena de caracteres con el número de caracteres especificado.

Convenciones de sintaxis de Transact-SQL

Sintaxis
LEFT ( character_expression , integer_expression )

Ejemplo

Utilizar LEFT con una columna

En el ejemplo siguiente se devuelven los cinco caracteres situados más a la izquierda de cada nombre de
producto de la tabla Product de la base de datos AdventureWorks2012.

SELECT LEFT(Name, 5)
FROM [Link]
ORDER BY ProductID;
GO

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

Nota

Para devolver el número de bytes utilizados para representar una expresión, use el DATALENGTH función.

Sintaxis
LEN ( string_expression )

Ejemplo

El ejemplo siguiente selecciona el número de caracteres y los datos en FirstName para las personas que se
encuentran en Australia. En este ejemplo se usa la base de datos AdventureWorks2012.

SELECT LEN(FirstName) AS Length, FirstName, LastName


FROM [Link]
WHERE CountryRegionName = 'Australia';
GO

LOWER (Transact-SQL)

Devuelve una expresión de caracteres después de convertir en minúsculas los datos de caracteres en
mayúsculas.

Sintaxis
LOWER ( character_expression )
Ejemplo

En este ejemplo se utiliza la función LOWER y la función UPPER, y se anida la función UPPER en la función
LOWER al seleccionar títulos de libros cuyos precios sean entre 11$ y 20$.

-- Uses AdventureWorks

SELECT LOWER(SUBSTRING(EnglishProductName, 1, 20)) AS Lower,


UPPER(SUBSTRING(EnglishProductName, 1, 20)) AS Upper,
LOWER(UPPER(SUBSTRING(EnglishProductName, 1, 20))) As LowerUpper
FROM [Link]
WHERE ListPrice between 11.00 and 20.00;

El conjunto de resultados es el siguiente.

Lower Upper LowerUpper


-------------------- --------------------- --------------------
minipump MINIPUMP minipump
taillights – battery TAILLIGHTS – BATTERY taillights - battery

LTRIM

Devuelve una expresión de caracteres tras quitar todos los espacios iniciales en blanco.

Sintaxis
LTRIM ( character_expression )

Ejemplo
En el ejemplo siguiente se usa LTRIM para quitar los espacios iniciales de una expresión de caracteres.

tsql
SELECT LTRIM(' Five spaces are at the beginning of this string.') FROM
[Link];

El conjunto de resultados es el siguiente.

---------------------------------------------------------------
Five spaces are at the beginning of this string.

NCHAR

Devuelve el carácter Unicode correspondiente al código entero dado, tal como se define en el estándar
Unicode.

Sintaxis
NCHAR ( integer_expression )
Ejemplos
Usar NCHAR y UNICODE

En el siguiente ejemplo se utilizan las funciones UNICODE y NCHAR para imprimir el valor UNICODE y NCHAR
(carácter Unicode) del segundo carácter de la cadena de caracteres København, y para imprimir el segundo
carácter real, ø.

DECLARE @nstring nchar(8);


SET @nstring = N'København';
SELECT UNICODE(SUBSTRING(@nstring, 2, 1)),
NCHAR(UNICODE(SUBSTRING(@nstring, 2, 1)));
GO

El conjunto de resultados es el siguiente.

----------- -
248 ø
(1 row(s) affected

PATINDEX

Devuelve la posición inicial de la primera repetición de un patrón en la expresión especificada, o ceros si el


patrón no se encuentra, en todos los tipos de datos de texto y caracteres.

Sintaxis
PATINDEX ( '%pattern%' , expression )

Ejemplos
En el ejemplo siguiente se comprueba una cadena de caracteres corto (interesting data) para la
ubicación inicial de los caracteres ter.

SELECT PATINDEX('%ter%', 'interesting data');

El conjunto de resultados es el siguiente.

QUOTENAME (Transact-SQL)
Devuelve una cadena Unicode con los delimitadores agregados para convertirla en un identificador
delimitado válido de SQL Server.

Sintaxis
QUOTENAME ( 'character_string' [ , 'quote_character' ] )

Ejemplo

En el siguiente ejemplo se toma la cadena de caracteres abc[]def y se utilizan los caracteres [ y ] para
crear un identificador delimitado de SQL Server válido.
SELECT QUOTENAME('abc[]def');

El conjunto de resultados es el siguiente.

[abc[]]def]

(1 row(s) affected)

REPLACE
Reemplaza todas las instancias de un valor de cadena especificado por otro valor de cadena.

Sintaxis
REPLACE ( string_expression , string_pattern , string_replacement )

Ejemplos
El siguiente ejemplo reemplaza la cadena cde de abcdefghi por xxx.

SQL
SELECT REPLACE('abcdefghicde','cde','xxx');
GO

El conjunto de resultados es el siguiente.

------------
abxxxfghixxx
(1 row(s) affected)

El siguiente ejemplo utiliza la función COLLATE.

SQL
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO

El conjunto de resultados es el siguiente.

------------
This is a desk
(1 row(s) affected)

REPLICATE

Repite un valor de cadena un número especificado de veces.

Sintaxis
REPLICATE ( string_expression ,integer_expression )
Ejemplo

En el ejemplo siguiente se replica un carácter 0 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

El conjunto de resultados es el siguiente.

Name Line Code


-------------------------------------------------- ---------
HL Touring Frame - Blue, 46 0000T
HL Touring Frame - Blue, 50 0000T
HL Touring Frame - Blue, 54 0000T
HL Touring Frame - Blue, 60 0000T
HL Touring Frame - Yellow, 46 0000T
HL Touring Frame - Yellow, 50 0000T
...

REVERSE
Devuelve el orden inverso de un valor de cadena.

Sintaxis
REVERSE ( string_expression )

Ejemplo

En el ejemplo siguiente se devuelven los nombres de todos los contactos con los caracteres invertidos. En
este ejemplo se usa la base de datos AdventureWorks2012.

SELECT FirstName, REVERSE(FirstName) AS Reverse


FROM [Link]
WHERE BusinessEntityID < 5
ORDER BY FirstName;
GO

El conjunto de resultados es el siguiente.

FirstName Reverse
-------------- --------------
Ken neK
Rob boR
Roberto otreboR
Terri irreT

RIGHT

Devuelve la parte derecha de una cadena de caracteres con el número de caracteres especificado.

Sintaxis
RIGHT ( character_expression , integer_expression )
Ejemplo
Utilizar RIGHT con una columna

En el ejemplo siguiente se devuelven los cinco caracteres situados más a la derecha del nombre de cada
persona de la base de datos AdventureWorks2012.

SELECT RIGHT(FirstName, 5) AS 'First Name'


FROM [Link]
WHERE BusinessEntityID < 5
ORDER BY FirstName;
GO

El conjunto de resultados es el siguiente.

First Name
----------
Ken
Terri
berto
Rob

(4 row(s) affected)

RTRIM
Devuelve una cadena de caracteres después de truncar todos los espacios finales.

Sintaxis
RTRIM ( character_expression )

Ejemplo

El siguiente ejemplo toma una cadena de caracteres que tiene espacios al final de la frase y devuelve el texto
sin esos espacios.

SELECT RTRIM('Removes trailing spaces. ');

El conjunto de resultados es el siguiente.

Removes trailing spaces.

SOUNDEX
Devuelve un código de cuatro caracteres (SOUNDEX) para evaluar la semejanza de dos cadenas.

Sintaxis
SOUNDEX ( character_expression )

Ejemplos

El ejemplo siguiente muestra la función SOUNDEX y la función relacionada DIFFERENCE. En el primer


ejemplo se obtienen los valores estándar de SOUNDEX para todas las consonantes. Al usar SOUNDEX para las
cadenas Smith y Smythe se obtiene el mismo resultado, ya que todas las vocales, la letra y, las letras
duplicadas y la letra h no se incluyen.
-- Using SOUNDEX
SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe');

El conjunto de resultados es el siguiente. Válido para una intercalación Latin1_General.

----- -----
S530 S530

(1 row(s) affected)

La función DIFFERENCE compara la diferencia entre los resultados del modelo SOUNDEX. El siguiente
ejemplo muestra dos cadenas que solo difieren en las vocales. La diferencia obtenida es 4, la mínima
posible.

-- Using DIFFERENCE
SELECT DIFFERENCE('Smithers', 'Smythers');
GO

El conjunto de resultados es el siguiente.Válido para una intercalación Latin1_General.

-----------
4

(1 row(s) affected)

SPACE
Devuelve una cadena de espacios repetidos.

Sintaxis
SPACE ( integer_expression )

Ejemplo

En el ejemplo siguiente se eliminan los apellidos y se concatena una coma, dos espacios y los nombres de
las personas que aparecen en la tabla Person de AdventureWorks2012.

USE AdventureWorks2012;
GO
SELECT RTRIM(LastName) + ',' + SPACE(2) + LTRIM(FirstName)
FROM [Link]
ORDER BY LastName, FirstName;
GO

STR
Devuelve datos de caracteres convertidos de datos numéricos.

Sintaxis
STR ( float_expression [ , length [ , decimal ] ] )
Ejemplos

En el ejemplo siguiente se convierte una expresión formada por un máximo de cinco dígitos y un separador
decimal en una cadena de caracteres de seis posiciones. La parte fraccionaria del número se redondea a un
lugar decimal.

SELECT STR(123.45, 6, 1);


GO

El conjunto de resultados es el siguiente.

------
123.5

(1 row(s) affected)

Cuando la expresión excede la longitud especificada, la cadena devuelve ** para esa longitud.

SELECT STR(123.45, 2, 2);


GO

El conjunto de resultados es el siguiente.

--
**

(1 row(s) affected)

STRING_AGG

Concatena los valores de expresiones de cadena y coloca los valores de separador entre ellos. El separador

Sintaxis
STRING_AGG ( expression, separator ) [ <order_clause> ]

<order_clause> ::=
WITHIN GROUP ( ORDER BY <order_by_expression_list> [ ASC | DESC ] )

Ejemplo
Generar la lista de nombres separados en las líneas nuevas

En el ejemplo siguiente se genera una lista de nombres en una celda individual de resultados, separados por
retornos de carro.

tsql
SELECT STRING_AGG (FirstName, CHAR(13)) AS csv
FROM [Link];

El conjunto de resultados es el siguiente.

csv
Syed
csv
Catherine
Kim
Kim
Kim
Hazem
...
NULL valores que se encuentran en name celdas no se devuelven en el resultado.

STRING_ESCAPE

Escapes de caracteres especiales en textos y devuelve el texto con caracteres de escape. STRING_ESCAPE
es una función determinista.

Sintaxis
STRING_ESCAPE( text , type )

Ejemplo
Escape texto según la reglas de formato de JSON

La siguiente consulta convierte caracteres especiales mediante las reglas JSON y devuelve el texto de
escape.

SELECT STRING_ESCAPE('\ /
\\ " ', 'json') AS escapedText;

El conjunto de resultados es el siguiente.

escapedText
-------------------------------------------------------------
\\\t\/\n\\\\\t\"\t

STRING_SPLIT

Divide la expresión de caracteres utilizando el separador especificado.

Nota

El STRING_SPLIT función está disponible sólo en el nivel de compatibilidad 130. Si el nivel de


compatibilidad de base de datos es inferior a 130, SQL Server no podrá encontrar ni ejecutar
STRING_SPLIT (función). Puede cambiar un nivel de compatibilidad de la base de datos mediante el
comando siguiente:
ALTER DATABASE DatabaseName SET COMPATIBILITY_LEVEL = 130

Tenga en cuenta que el nivel de compatibilidad 120 podría ser predeterminada incluso en las nuevas bases
de datos de SQL Azure.
Sintaxis
STRING_SPLIT ( string , separator )

Ejemplo
Separada por comas de división de cadena del valor

Analizar una lista separada por comas de valores y devuelven todos los tokens no está vacío:

DECLARE @tags NVARCHAR(400) = 'clothing,road,,touring,bike'

SELECT value
FROM STRING_SPLIT(@tags, ',')
WHERE RTRIM(value) <> '';
STRING_SPLIT devolverá una cadena vacía si no hay nada entre separador. Condición RTRIM(value) <> ''
quitará tokens vacíos.

STUFF

La función STUFF inserta una cadena en otra. Elimina una longitud determinada de caracteres de la primera
cadena a partir de la posición de inicio y, a continuación, inserta la segunda cadena en la primera, en la
posición de inicio.

Sintaxis
STUFF ( character_expression , start , length , replaceWith_expression )

Ejemplo

En el ejemplo siguiente se devuelve una cadena de caracteres creada eliminando tres caracteres de la primera
cadena, abcdef, a partir de la posición 2 de b, e insertando la segunda cadena en el punto de eliminación.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');


GO

El conjunto de resultados es el siguiente.

---------
aijklmnef

(1 row(s) affected)

SUBSTRING

Devuelve parte de una expresión de caracteres, binaria, de texto o de imagen en SQL Server.

Sintaxis
SUBSTRING ( expression ,start , length )
Ejemplo
Usar SUBSTRING con una cadena de caracteres

En el siguiente ejemplo se muestra cómo devolver únicamente una parte de una cadena de caracteres. Desde
el [Link] tabla, esta consulta devuelve el sistema de nombres de base de datos en la primera
columna, la primera letra de la base de datos en la segunda columna y el terceros y cuarto caracteres en la
última columna.

SELECT name, SUBSTRING(name, 1, 1) AS Initial ,


SUBSTRING(name, 3, 2) AS ThirdAndFourthCharacters
FROM [Link]
WHERE database_id < 5;

El conjunto de resultados es el siguiente.

name Initial ThirdAndFourthCharacters


maestra m St
tempdb t módulo de administración
model m de
msdb m base de datos

He aquí cómo mostrar el segundo, tercer y cuarto caracteres de la constante de cadena abcdef.

SELECT x = SUBSTRING('abcdef', 2, 3);

El conjunto de resultados es el siguiente.

x
----------
bcd

(1 row(s) affected)

TRANSLATE

Devuelve la cadena proporcionada como primer argumento después de algunos caracteres especificados en
el segundo argumento se convierten en un conjunto de destinos de caracteres.

Sintaxis
TRANSLATE ( inputString, characters, translations)

Ejemplo
Reemplace llaves cuadrados y llaves con llaves regulares

La siguiente consulta reemplaza cuadrados y las llaves en la cadena de entrada entre paréntesis:

SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()()');

El conjunto de resultados es el siguiente.

2*(3+4)/(7-2)
TRIM
Quita el carácter de espacio char(32) u otros caracteres especificados desde el principio o final de una
cadena.

Sintaxis
TRIM ( [ characters FROM ] string )

Ejemplo
Quita el carácter de espacio de ambos lados de cadena

En el ejemplo siguiente se quita los espacios de antes y después de la palabra test.

tsql
SELECT TRIM( ' test ') AS Result;

El conjunto de resultados es el siguiente.

Test

UNICODE
Devuelve el valor entero, según la definición del estándar Unicode, para el primer carácter de la expresión
de entrada.

Sintaxis
UNICODE ( 'ncharacter_expression' )

Ejemplo
Utilizar las funciones UNICODE y NCHAR

En el ejemplo siguiente se utilizan las funciones UNICODE y NCHAR para imprimir el valor UNICODE del
primer carácter de la cadena Åkergatan de 24 caracteres y para imprimir el verdadero primer carácter (Å).

DECLARE @nstring nchar(12);


SET @nstring = N'Åkergatan 24';
SELECT UNICODE(@nstring), NCHAR(UNICODE(@nstring));

El conjunto de resultados es el siguiente.

----------- -
197 Å

UPPER
Devuelve una expresión de caracteres con datos de caracteres en minúsculas convertidos a mayúsculas.
Sintaxis
UPPER ( character_expression )

Ejemplo

En el ejemplo siguiente se usa el UPPER y RTRIM funciones para devolver el apellido de las personas de la
[Link] para que esté en mayúsculas, recortado y concatenado con el nombre de tabla.

-- Uses AdventureWorks

SELECT UPPER(RTRIM(LastName)) + ', ' + FirstName AS Name


FROM [Link]
ORDER BY LastName;

A continuación se muestra un conjunto parcial de resultados.

Name
------------------------------
ABBAS, Syed
ABERCROMBIE, Kim
ABOLROUS, Hazem

CONTAINS
Busca coincidencias precisas o aproximadas (menos precisas) de palabras o frases, palabras que se encuentran a cierta
distancia de otra o coincidencias ponderadas. CONTAINS es un predicado utilizado en la cláusula WHERE de una
instrucción SELECT de Transact-SQL para realizar una búsqueda de texto completo de SQL Server en las columnas
indizadas de texto completo que contienen tipos de datos basados en caracteres.

CONTAINS puede buscar:

 Una palabra o una frase.


 El prefijo de una palabra o una frase.
 Una palabra cerca de otra palabra.
 Una palabra que sea una inflexión de otra (por ejemplo, las palabras controles, controladores, controlando y
controlado son inflexiones de control).
 Una palabra que sea un sinónimo de otra mediante un diccionario de sinónimos (por ejemplo, la palabra
"metal" puede tener sinónimos como "aluminio" y "acero").

Sintaxis

CONTAINS (
     {
        column_name | ( column_list )
      | *
      | PROPERTY ( { column_name }, 'property_name' )
     }
     , '<contains_search_condition>'
     [ , LANGUAGE language_term ]
   )

<contains_search_condition> ::=
  {
      <simple_term>
    | <prefix_term>
    | <generation_term>
    | <generic_proximity_term>
    | <custom_proximity_term>
    | <weighted_term>
    }
  |
    { ( <contains_search_condition> )
        [ { <AND> | <AND NOT> | <OR> } ]
        <contains_search_condition> [ ...n ]
  }
<simple_term> ::=
     { word | "phrase" }

<prefix term> ::=


  { "word*" | "phrase*" }

<generation_term> ::=
  FORMSOF ( { INFLECTIONAL | THESAURUS } , <simple_term> [ ,...n ] )

<generic_proximity_term> ::=
  { <simple_term> | <prefix_term> } { { { NEAR | ~ }
     { <simple_term> | <prefix_term> } } [ ...n ] }

<custom_proximity_term> ::=
  NEAR (
     {
        { <simple_term> | <prefix_term> } [ ,…n ]
     |
        ( { <simple_term> | <prefix_term> } [ ,…n ] )
      [, <maximum_distance> [, <match_order> ] ]
     }
       )

      <maximum_distance> ::= { integer | MAX }


      <match_order> ::= { TRUE | FALSE }

<weighted_term> ::=
  ISABOUT
   ( {
        {
          <simple_term>
        | <prefix_term>
        | <generation_term>
        | <proximity_term>
        }
      [ WEIGHT ( weight_value ) ]
      } [ ,...n ]
   )

<AND> ::=
  { AND | & }

<AND NOT> ::=


  { AND NOT | &! }

<OR> ::=
  { OR | | }

Ejemplo

Usar CONTAINS con <simple_term>


En este ejemplo se buscan todos los productos con un precio de $80.99 que contengan la palabra "Mountain".
USE AdventureWorks2012;
GO
SELECT Name, ListPrice
FROM [Link]
WHERE ListPrice = 80.99
AND CONTAINS(Name, 'Mountain');
GO
FUNCIONES DE TIPO DE DATOS

DATALENGTH
Devuelve el número de bytes utilizados para representar cualquier expresión.

Sintaxis
DATALENGTH ( expression )

Ejemplo

En el siguiente ejemplo se busca la longitud de la columna  Name  de la tabla  Product .

-- Uses AdventureWorks

SELECT length = DATALENGTH(EnglishProductName), EnglishProductName


FROM [Link]
ORDER BY EnglishProductName;
GO

IDENT_CURRENT
Devuelve el último valor de identidad generado para una tabla o vista especificadas. El último valor de
identidad generado puede ser para cualquier sesión y cualquier ámbito .

Sintaxis
IDENT_CURRENT( 'table_name' )

Ejemplo

Devolver el último valor de identidad generado para una tabla especificada

En el ejemplo siguiente se devuelve el último valor de identidad generado para la


tabla  [Link]  en la base de datos  AdventureWorks2012 .

USE AdventureWorks2012;
GO
SELECT IDENT_CURRENT ('[Link]') AS Current_Identity;
GO

IDENT_INCR
Devuelve el valor de incremento (devuelto como numérico (@@MAXPRECISION, 0)) especificado
durante la creación de una columna de identidad en una tabla o vista que tiene una columna de
identidad.

Sintaxis
IDENT_INCR ( 'table_or_view' )

Ejemplo

Devolver el valor de incremento de una tabla especificada

En el ejemplo siguiente se devuelve el valor de incremento de la tabla  [Link]  en la base de


datos AdventureWorks2012.
Copiar

USE AdventureWorks2012;
GO
SELECT IDENT_INCR('[Link]') AS Identity_Increment;
GO

IDENT_SEED
Devuelve el valor de inicialización original (devuelto como numérico(@@MAXPRECISION, 0)) que se
especificó cuando se creó una columna de identidad en una tabla o una vista. La acción de cambiar el
valor actual de una columna de identidad utilizando DBCC CHECKIDENT no cambia el valor devuelto
por esta función.

Sintaxis
IDENT_SEED ( 'table_or_view' )

Ejemplo

Devolver el valor de inicialización de una tabla especificada

En el ejemplo siguiente se devuelve el valor de inicialización de la tabla  [Link]  en la base


de datos AdventureWorks2012.

USE AdventureWorks2012;
GO
SELECT IDENT_SEED('[Link]') AS Identity_Seed;
GO

IDENTITY
Solo se usa en una instrucción SELECT con una INTO tabla cláusula para insertar una columna de identidad
en una nueva tabla. Aunque es similar, la función IDENTITY no es la propiedad IDENTITY que se utiliza con
CREATE TABLE y ALTER TABLE.

Sintaxis
IDENTITY (data_type [ , seed , increment ] ) AS column_name
Ejemplo

En este ejemplo se insertan todas las filas de la tabla  Contact  de la base de
datosAdventureWorks2012 en una nueva tabla denominada  NewContact . La función IDENTITY se
utiliza para iniciar los números de identificación a partir de 100 en lugar de 1 en la tabla  NewContact .

USE AdventureWorks2012;
GO
IF OBJECT_ID (N'[Link]', N'U') IS NOT NULL
DROP TABLE [Link];
GO
ALTER DATABASE AdventureWorks2012 SET RECOVERY BULK_LOGGED;
GO
SELECT IDENTITY(smallint, 100, 1) AS ContactNum,
FirstName AS First,
LastName AS Last
INTO [Link]
FROM [Link];
GO
ALTER DATABASE AdventureWorks2012 SET RECOVERY FULL;
GO
SELECT ContactNum, First, Last FROM [Link];
GO

SQL_VARIANT_PROPERTY
Devuelve el tipo de datos base y otra información sobre un sql_variant valor.

Sintaxis
SQL_VARIANT_PROPERTY ( expression , property )

Ejemplo

Usar un sql_variant en una tabla

En el ejemplo siguiente se recuperan  SQL_VARIANT_PROPERTY  obtener información sobre


la  colA valor  46279.1  donde  colB  =  1689 , dado que  tableA  tiene  colA  que es de
tipo  sql_variant  y  colB .

CREATE TABLE tableA(colA sql_variant, colB int)


INSERT INTO tableA values ( cast (46279.1 as decimal(8,2)), 1689)
SELECT SQL_VARIANT_PROPERTY(colA,'BaseType') AS 'Base Type',
SQL_VARIANT_PROPERTY(colA,'Precision') AS 'Precision',
SQL_VARIANT_PROPERTY(colA,'Scale') AS 'Scale'
FROM tableA
WHERE colB = 1689
El conjunto de resultados es el [Link] en cuenta que cada uno de estos tres valores es
un sql_variant.

Base Type Precision Scale


--------- --------- -----
decimal 8 2

(1 row(s) affected)
FUNCIONES LÓGICAS

CHOOSE
Devuelve el elemento en el índice especificado de una lista de valores de SQL Server.

Sintaxis
CHOOSE ( index, val_1, val_2 [, val_n ] )

Ejemplo

En el ejemplo siguiente se devuelve el tercer elemento de la lista de valores que se proporciona.

SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Tester' ) AS Result;

El conjunto de resultados es el siguiente.

Result
-------------
Developer

(1 row(s) affected)

IFF
Devuelve uno de dos valores, dependiendo de si la expresión booleana se evalúa como true o como
false en SQL Server.

Sintaxis
IIF ( boolean_expression, true_value, false_value )

Ejemplo

Ejemplo sencillo de IIF

DECLARE @a int = 45, @b int = 40;


SELECT IIF ( @a > @b, 'TRUE', 'FALSE' ) AS Result;

El conjunto de resultados es el siguiente.

Result
--------
TRUE

(1 row(s) affected)
FUNCIONES MATEMÁTICAS

ABS
Función matemática que devuelve el valor absoluto positivo de una expresión numérica
específica. ( ABS  cambios de los valores a valores positivos negativos.  ABS no tiene ningún efecto en
cero o valores positivos.)

Sintaxis
ABS ( numeric_expression )

Ejemplo

En el ejemplo siguiente se muestra el resultado de usar la función  ABS  en tres números distintos.

SELECT ABS(-1.0), ABS(0.0), ABS(1.0);

El conjunto de resultados es el siguiente.

---- ---- ----


1.0 .0 1.0

ACOS
Una función matemática que devuelve el ángulo, en radianes, cuyo coseno es el especificado
float expresión; también se denomina arco coseno.

Sintaxis
ACOS ( float_expression )

Ejemplo

En el ejemplo siguiente se devuelve el valor ACOS del número especificado.

SET NOCOUNT OFF;


DECLARE @cos float;
SET @cos = -1.0;
SELECT 'The ACOS of the number is: ' + CONVERT(varchar, ACOS(@cos));

El conjunto de resultados es el siguiente.

---------------------------------
The ACOS of the number is: 3.14159

(1 row(s) affected)
ASIN
Devuelve el ángulo, en radianes, cuyo seno es el especificado float expresión. También se denomina
arco seno.

Sintaxis
ASIN ( float_expression )

Ejemplo

El ejemplo siguiente se toma una float expresión y devuelve el valor de ASIN del ángulo


especificado.

/* The first value will be -1.01. This fails because the value is
outside the range.*/
DECLARE @angle float
SET @angle = -1.01
SELECT 'The ASIN of the angle is: ' + CONVERT(varchar, ASIN(@angle))
GO

-- The next value is -1.00.


DECLARE @angle float
SET @angle = -1.00
SELECT 'The ASIN of the angle is: ' + CONVERT(varchar, ASIN(@angle))
GO

-- The next value is 0.1472738.


DECLARE @angle float
SET @angle = 0.1472738
SELECT 'The ASIN of the angle is: ' + CONVERT(varchar, ASIN(@angle))
GO

El conjunto de resultados es el siguiente.

-------------------------
.Net SqlClient Data Provider: Msg 3622, Level 16, State 1, Line 3
A domain error occurred.

---------------------------------
The ASIN of the angle is: -1.5708

(1 row(s) affected)

ATAN
Devuelve el ángulo en radianes cuya tangente es un determinado float expresión. También se denomina
arcotangente.

Sintaxis
ATAN ( float_expression )

Ejemplo

El ejemplo siguiente se toma una float expresión y devuelve el valor de ATAN del ángulo


especificado.

SELECT 'The ATAN of -45.01 is: ' + CONVERT(varchar, ATAN(-45.01))


SELECT 'The ATAN of -181.01 is: ' + CONVERT(varchar, ATAN(-181.01))
SELECT 'The ATAN of 0 is: ' + CONVERT(varchar, ATAN(0))
SELECT 'The ATAN of 0.1472738 is: ' + CONVERT(varchar, ATAN(0.1472738))
SELECT 'The ATAN of 197.1099392 is: ' + CONVERT(varchar, ATAN(197.1099392))
GO

El conjunto de resultados es el siguiente.

-------------------------------
The ATAN of -45.01 is: -1.54858

(1 row(s) affected)

--------------------------------
The ATAN of -181.01 is: -1.56527

(1 row(s) affected)

--------------------------------
The ATAN of 0 is: 0

(1 row(s) affected)

----------------------------------
The ATAN of 0.1472738 is: 0.146223

(1 row(s) affected)

-----------------------------------
The ATAN of 197.1099392 is: 1.56572

(1 row(s) affected)

ATN2
Devuelve el ángulo (en radianes) formado por el eje X positivo y la línea que se extiende desde el origen al
punto (y, x), donde x e y son los valores de las dos expresiones de punto flotante especificadas.

Sintaxis
ATN2 ( float_expression , float_expression )
Ejemplo

En el siguiente ejemplo se calcula el  ATN2  de los componentes  x  e  y  especificados.

DECLARE @x float = 35.175643, @y float = 129.44;


SELECT 'The ATN2 of the angle is: ' + CONVERT(varchar,ATN2(@x,@y ));
GO

El conjunto de resultados es el siguiente.

The ATN2 of the angle is: 0.265345


(1 row(s) affected)

CEILING
Devuelve el entero más pequeño mayor o igual que la expresión numérica especificada.

Sintaxis
CEILING ( numeric_expression )

Ejemplo

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

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


GO

El conjunto de resultados es el siguiente.

--------- --------- -------------------------


124.00 -123.00 0.00

(1 row(s) affected)

COS
Es una función matemática que devuelve el coseno trigonométrico del ángulo especificado, expresado en
radianes, en la expresión dada.

Sintaxis
COS ( float_expression )

Ejemplo

El ejemplo siguiente devuelve el valor COS del ángulo específico.


DECLARE @angle float;
SET @angle = 14.78;
SELECT 'The COS of the angle is: ' + CONVERT(varchar,COS(@angle));
GO

El conjunto de resultados es el siguiente.

The COS of the angle is: -0.599465

(1 row(s) affected)

COT
Una función matemática que devuelve la cotangente trigonométrica del ángulo especificado, en radianes,
de la manera especificada float expresión.

Sintaxis
COT ( float_expression )

Ejemplo

El ejemplo siguiente devuelve el valor COT del ángulo específico.

DECLARE @angle float;


SET @angle = 124.1332;
SELECT 'The COT of the angle is: ' + CONVERT(varchar,COT(@angle));
GO

El conjunto de resultados es el siguiente.

The COT of the angle is: -0.040312

(1 row(s) affected)

DEGREES
Devuelve el ángulo correspondiente en grados para un ángulo especificado en radianes.

Sintaxis
DEGREES ( numeric_expression )

Ejemplo

En el ejemplo siguiente se devuelve el número de grados en un ángulo de PI/2 radianes.


SELECT 'The number of degrees in PI/2 radians is: ' +
CONVERT(varchar, DEGREES((PI()/2)));
GO

El conjunto de resultados es el siguiente.

The number of degrees in PI/2 radians is 90

(1 row(s) affected)

EXP
Devuelve el valor exponencial del elemento especificado float expresión.

Sintaxis
EXP ( float_expression )

Ejemplo

Obtener el exponente de un número

En el ejemplo siguiente se declara una variable y se devuelve el valor exponencial de la variable


especificada ( 10 ) con una descripción de texto.

DECLARE @var float


SET @var = 10
SELECT 'The EXP of the variable is: ' + CONVERT(varchar,EXP(@var))
GO

El conjunto de resultados es el siguiente.

----------------------------------------------------------
The EXP of the variable is: 22026.5
(1 row(s) affected)

FLOOR
Devuelve el entero más grande que sea menor o igual que la expresión numérica especificada.

Sintaxis
FLOOR ( numeric_expression )
Ejemplo

En el ejemplo siguiente se muestran valores numéricos positivos, negativos y de moneda con la


función  FLOOR .

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

El resultado es la parte entera del valor calculado en el mismo tipo de datos


quenumeric_expression.

--------- --------- -----------


123 -124 123.0000

LOG
Devuelve el logaritmo natural del elemento especificado float expresión en SQL Server.

Sintaxis
LOG ( float_expression [, base ] )

Ejemplo

Calcular el logaritmo de un número

En el ejemplo siguiente se calcula el  LOG  para el elemento especificado float expresión.

DECLARE @var float = 10;


SELECT 'The LOG of the variable is: ' + CONVERT(varchar, LOG(@var));
GO

El conjunto de resultados es el siguiente.

-------------------------------------
The LOG of the variable is: 2.30259

(1 row(s) affected)

LOG10
Devuelve el logaritmo en base 10 del elemento especificado float expresión.

Sintaxis
LOG10 ( float_expression )
Ejemplo

Calcular el logaritmo en base 10 para una variable

En el siguiente ejemplo se calcula el  LOG10  de la variable especificada.

DECLARE @var float;


SET @var = 145.175643;
SELECT 'The LOG10 of the variable is: ' + CONVERT(varchar,LOG10(@var));
GO

El conjunto de resultados es el siguiente.

The LOG10 of the variable is: 2.16189

(1 row(s) affected)

PI
Devuelve el valor constante de PI.

Sintaxis
PI ( )

Ejemplo

El siguiente ejemplo devuelve el valor de  PI .

SELECT PI();
GO

El conjunto de resultados es el siguiente.

------------------------
3.14159265358979

(1 row(s) affected)

POWER
Devuelve el valor de la expresión especificada elevado a la potencia especificada.

Sintaxis
POWER ( float_expression , y )
Ejemplo

Usar POWER para devolver el cubo de un número

En el ejemplo siguiente se muestra cómo elevar un número a la potencia 3 (el cubo del número).
Copiar

DECLARE @input1 float;


DECLARE @input2 float;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;

El conjunto de resultados es el siguiente.


Copiar

Result1 Result2
---------------------- ----------------------
8 15.625

(1 row(s) affected)

RADIANS
Devuelve los radianes de una expresión numérica en grados.

Sintaxis
RADIANS ( numeric_expression )

Ejemplos

A. Utilizar RADIANS para mostrar 0.0

En este ejemplo se devuelve el resultado  0.0  debido a que la expresión numérica que se va a
convertir en radianes es demasiado pequeña para la función  RADIANS .

SELECT RADIANS(1e-307)
GO

El conjunto de resultados es el siguiente.

-------------------
0.0
(1 row(s) affected)
RAND
Devuelve un seudoaleatorios float valor comprendido entre 0 y 1, ambos excluidos.

Sintaxis
RAND ( [ seed ] )

Ejemplo

En el siguiente ejemplo se producen cuatro números aleatorios diferentes, generados con la


función RAND.

DECLARE @counter smallint;


SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT RAND() Random_Number
SET @counter = @counter + 1
END;
GO

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

Sintaxis
ROUND ( numeric_expression , length [ ,function ] )

Ejemplo

Usar ROUND y valores estimados

En el ejemplo siguiente se muestran dos expresiones que demuestran que cuando se usa la
función  ROUND , el último dígito siempre es un valor estimado.

SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);


GO

El conjunto de resultados es el siguiente.

----------- -----------
123.9990 124.0000
SIGN
Devuelve el signo positivo (+1), cero (0) o negativo (-1) de la expresión especificada.

Sintaxis
SIGN ( numeric_expression )

Ejemplo

En el ejemplo siguiente se devuelven los valores de SIGN para los números de -1 a 1.

DECLARE @value real


SET @value = -1
WHILE @value < 2
BEGIN
SELECT SIGN(@value)
SET NOCOUNT ON
SELECT @value = @value + 1
SET NOCOUNT OFF
END
SET NOCOUNT OFF
GO

El conjunto de resultados es el siguiente.

(1 row(s) affected)

------------------------
-1.0

(1 row(s) affected)

------------------------
0.0

(1 row(s) affected)

------------------------
1.0

(1 row(s) affected)

SIN
Devuelve el seno trigonométrico del ángulo especificado, en radianes y en un valor numérico
aproximado, float, expresión.

Sintaxis
SIN ( float_expression )

Ejemplo

En el ejemplo siguiente se calcula el seno de un ángulo especificado.

DECLARE @angle float;


SET @angle = 45.175643;
SELECT 'The SIN of the angle is: ' + CONVERT(varchar,SIN(@angle));
GO

El conjunto de resultados es el siguiente.

The SIN of the angle is: 0.929607

(1 row(s) affected)

SQRT
Devuelve la raíz cuadrada del valor de tipo flotante especificado.

Sintaxis
SQRT ( float_expression )

Ejemplo

En el ejemplo siguiente se devuelve la raíz cuadrada de los números comprendidos


entre  1.00  y  10.00 .

DECLARE @myvalue float;


SET @myvalue = 1.00;
WHILE @myvalue < 10.00
BEGIN
SELECT SQRT(@myvalue);
SET @myvalue = @myvalue + 1
END;
GO

El conjunto de resultados es el siguiente.

------------------------
1.0
------------------------
1.4142135623731
------------------------
1.73205080756888
------------------------
2.0
------------------------
2.23606797749979
------------------------
2.44948974278318
------------------------
2.64575131106459
------------------------
2.82842712474619
------------------------
3.0

SQUARE
Devuelve el cuadrado del valor de tipo flotante especificado.

Sintaxis
SQUARE ( float_expression )

Ejemplo

En el ejemplo siguiente se devuelve el volumen de un cilindro de  1  pulgada de radio y  5 pulgadas


de alto.

DECLARE @h float, @r float;


SET @h = 5;
SET @r = 1;
SELECT PI()* SQUARE(@r)* @h AS 'Cyl Vol';

El conjunto de resultados es el siguiente.

Cyl Vol
--------------------------
15.707963267948966

TAN
Devuelve la tangente de la expresión de entrada.

Sintaxis
TAN ( float_expression )
Ejemplo

En el siguiente ejemplo se devuelve la tangente de  PI()/2 .

SELECT TAN(PI()/2);

El conjunto de resultados es el siguiente.

----------------------
1.6331778728383844E+16

También podría gustarte