Como vocês sabem não tenho muita paciencia para escrever, mas segue abaixo algumas funções novas do T-SQL no SQL Denali as funções são auto-explicativas… Ou como diria um amigo meu: “o código é a própria documentação

TRY_CONVERT

SELECT TRY_CONVERT(DATETIME, ‘2011-01-01’,120)
SELECT TRY_CONVERT(DATETIME, ‘2011-01-32’,120)

Resultado

———————–
2011-01-01 00:00:00.000

———————–
NULL

PARSE

SELECT PARSE(‘10,50’ as DECIMAL(18,2) USING ‘pt-BR’)
SELECT PARSE(‘10,50’ as DECIMAL(18,2) USING ‘en-US’)

—————————————
10.50

—————————————
1050.00

TRY_PARSE

SELECT TRY_PARSE(‘10,50’ as DECIMAL(4,2) USING ‘en-US’)
SELECT TRY_PARSE(‘10.50’ as DECIMAL(4,2) USING ‘en-US’)

—————————————
NULL

—————————————
10.50

DATETIMEFROMPARTS

SELECT DATETIMEFROMPARTS (2011,01,01,00,00,00,00)

———————–
2011-01-01 00:00:00.000

EOMONTH (End Of Month)

SELECT EOMONTH (‘2011-01-01’) as [FIM DE JAN]
SELECT EOMONTH (‘2011-02-21’) as [FIM DE FEV]
SELECT EOMONTH (‘2011-03-15’) as [FIM DE MAR]

FIM DE JAN
———————-
2011-01-31 00:00:00.00

FIM DE FEV
———————-
2011-02-28 00:00:00.00

FIM DE MAR
———————-
2011-03-31 00:00:00.00

FORMAT

SELECT FORMAT(100.5,’0.00′,’pt-BR’)
SELECT FORMAT(100.5,’0.00′,’en-US’)

SELECT FORMAT(100.5,’C’,’pt-BR’)
SELECT FORMAT(100.5,’C’,’en-US’)

SELECT FORMAT(CONVERT(DATE,’2011-01-01′),’MMMMM-yyyy’,’pt-BR’)
SELECT FORMAT(CONVERT(DATE,’2011-01-01′),’MMMMM-yyyy’,’en-US’)

—————————————————————————————————————————————————————————————————————————————————————-

100,50
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
100.50
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
R$ 100,50
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$100.50
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
janeiro-2011
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
January-2011

CONCAT

SELECT CONCAT(‘HOJE É ESTAMOS NO MES ‘, FORMAT(CONVERT(DATE,’2011-01-01′),’MMMMM-yyyy’,’en-US’))
SELECT CONCAT(‘HOJE É ESTAMOS NO DIA ‘, CONVERT(DATE,’2011-01-01’))

———————————————————-
HOJE É ESTAMOS NO MES January-2011

———————————————————-
HOJE É ESTAMOS NO DIA 2011-01-01

IIF

SELECT IIF(1=1,’True’,’False’)
SELECT IIF(1=2,’True’,’False’)

—-
True

—–
False

CHOOSE

SELECT CHOOSE(1,’Batata’,’Abacate’,’WTF’)
SELECT CHOOSE(2,’Batata’,’Abacate’,’WTF’)

——-
Batata

——-
Abacate

Fonte de pesquisa: http://sqlfromhell.wordpress.com/2011/07/21/sql-server-denali-ctp-3-resumo/

Anúncios