Aplica a: SQL Server 2012.
SQL Server 2012 trae 14 nuevas funciones T-SQL y mejora otra existente..
Funciones de conversión.
Función TRY_CONVERT. Retorna un valor convertido a un tipo de datos especificado, si la conversión es exitosa. En caso contrario retorna null.
Función TRY_PARSE. Retorna el resultado de una expresión, convertida al tipo de datos solicitado, o nulo si la conversión falla.
Ejemplo:
SELECT CASE WHEN TRY_PARSE('Morillo' AS decimal) IS NULL
THEN 'True'
ELSE 'False'
END
AS Result
Resultado:
True
(1 row(s) affected)
Ejemplo:
SELECT TRY_PARSE('1234.5' AS decimal(5,1)) AS Result
Resultado:
Result
---------------------------------------
1234.5
(1 row(s) affected)
Función PARSE. Retorna el resultado de una expresión, convertida al tipo de datos solicitado. Sintaxis: PARSE (string_value AS data_type [USING culture])
Ejemplo:
SELECT PARSE('Monday, 13 december 2010' AS datetime2) AS Resultado
Resultado:
Resultado
----------------------
2010-12-13 00:00:00.00
(1 row(s) affected)
Funciones de Fecha y Tiempo.
Función EOMONTH. Esta función retorna el último día del mes correspondiente a la fecha pasada como parámetro.
Ejemplo:
SELECT EOMONTH('2/2/2011')
Resultado:
----------------------
2011-02-28 00:00:00.00
(1 row(s) affected)
Función TIMEFROMPARTS. Retorna un valor de tipo "time" para el tiempo pasado como parámetro, y con la precisión especificada. Sintaxis: TIMEFROMPARTS(hora, minutos, segundos, fracciones, precisión)
Ejemplo:
DECLARE @time time
SET @time = TIMEFROMPARTS(23, 59, 59, 0, 0)
SELECT @time
Resultado:
----------------
23:59:59.0000000
(1 row(s) affected)
Función SMALLDATETIMEFROMPARTS. Retorna un valor de tipo "smalldatetime" para la fecha y hora especificada. Sintaxis: SMALLDATETIMEFROMPARTS (año, mes, día, hora, minutos)
Ejemplo:
SELECT SMALLDATETIMEFROMPARTS(2011, 10, 24, 16, 35)
Resultado:
-----------------------
2011-10-24 16:35:00
(1 row(s) affected)
Función DATEFROMPARTS. Retorna un valor de tipo "date" para el año, mes y día especificados. Sintaxis: DATEFROMPARTS (año, mes, día)
Ejemplo:
SELECT DATEFROMPARTS(2011, 10, 24)
Resultado:
----------
2011-10-24
(1 row(s) affected)
Función DATETIMEFROMPARTS. Retorna un valor de tipo "datetime" para la fecha y hora especificadas. Sintaxis: DATETIMEFROMPARTS (año, mes, día, hora, minutos, segundos, milisegundos)
Ejemplo:
SELECT DATETIMEFROMPARTS (2011, 10, 24, 16, 45, 43, 22)
Resultado:
-----------------------
2011-10-24 16:45:43.023
(1 row(s) affected)
Función DATETIME2FROMPARTS. Retorna un valor de tipo "datetime2" para la fecha y hora especificadas, y con la precisión especificada. Sintaxis: DATETIME2FROMPARTS (año, mes, día, hora, minutos, segundos, fracciones, precisión)
Ejemplo:
SELECT DATETIME2FROMPARTS(2011, 10, 24, 16, 45, 43, 22, 3) -- 3=Milisegundos
-- 7=Nanosegundos
Resultado:
----------------------
2011-10-24 16:45:43.02
(1 row(s) affected)
Función DATETIMEOFFSETFROMPARTS. Retorna un valor de tipo "datetimeoffset" para la fecha y hora especificadas, y con la precisión especificada. Sintaxis: DATETIMEOFFSETFROMPARTS (año, mes, día, minutos, segundos, fracciones, hora_offset, minutos_offset, precisión).
Ejemplo:
SELECT DATETIMEOFFSETFROMPARTS(2011, 10, 24, 16, 45, 43, 0, 12, 0, 3)
Resultado:
----------------------------------
2011-10-24 16:45:43.000 +12:00
(1 row(s) affected)
Funciones Lógicas.
Función CHOOSE. Retorna el elemento de una lista de valores que se encuentra en el índice especificado. Sintaxis: CHOOSE (índice, val1, val2[, val_n]).
Ejemplo:
SELECT CHOOSE( 1, 2.30, 2.90, 4.10) as 'Discount Price'
Resultado:
Discount Price
---------------------------------------
2.30
(1 row(s) affected)
Función IIF. Retorna uno de dos valores, dependiendo de si la expresión booleana se evalúa como verdadero o como falso. Sintaxis: IIF (expresión booleana, valor verdadero, valor falso).
Ejemplo:
DECLARE @value1 int=1
DECLARE @value2 int=5
SELECT IIF(@value1 > @value2, 'True', 'False').
Resultado:
-----
False
(1 row(s) affected)
Funciones Matemáticas.
Función LOG. Retorna el logaritmo natural de la expresión flotante especificada. Sintaxis:
LOG (expresión flotante[, base]).
Por omisión retorna el logaritmo natural, con base e, donde e=2.718281828
Ejemplo:
SELECT LOG(10)
Resultado:
----------------------
2.30258509299405
(1 row(s) affected)
Ejemplo:
SELECT LOG(10,10)
Resultado:
----------------------
1
(1 row(s) affected)
Funciones de cadenas de caracteres.
Función CONCAT. Retorna una cadena de caracteres que es resultado de concatenar dos o más valores.
Ejemplos:
SELECT 'Alberto' + ', ' + 'Morillo'
SELECT CONCAT('Alberto', ' ', 'Morillo', ' ', 'Rodriguez')
Resultados:
----------------
Alberto, Morillo
(1 row(s) affected)
-------------------------
Alberto Morillo Rodriguez
(1 row(s) affected)
Función FORMAT. Retorna un valor formateado con el formato especificado y cultura, si se especifica. Sintaxis: FORMAT (valor, formato[, cultura]).
DECLARE @d DATETIME = '10/24/2011';
--SELECT FORMAT (@d, 'd', 'es-es') AS Result; -- Spanish - Spain
--SELECT FORMAT (@d, 'd', 'es-DO') AS Result; -- Spanish - Dominican Republic
--SELECT FORMAT (@d, 'd', 'af') AS Result; -- Afrikaans
SELECT FORMAT (@d, 'd', 'hy') AS Result; -- Armenian
Dónde se encuentra la lista de "culturas"?
http://msdn.microsoft.com/es-es/library/system.globalization.cultureinfo(VS.80).aspx
SELECT FORMAT(47.127, '0.00') as Price
SELECT FORMAT(47.127, '$0.00', 'es-DO') as Price
No hay comentarios:
Publicar un comentario