Funções escalares do SQL Server
Click here to load reader
-
Upload
claudio-tonelli -
Category
Documents
-
view
35 -
download
3
Transcript of Funções escalares do SQL Server
Funções escalares do SQL Server - DATA E HORA.
Forum RulesLeia antes de participar: viewtopic.php?f=32&t=33 Post a reply
1 post • Page 1 of 1
Funções escalares do SQL Server - DATA E HORA.
Author: Thiago Roberto » 14 May 2008, 23:30
Tudo ai não podem reclamar que não sabe!!heheheh!
GETDATE()Retorna a data atual do sistema
SELECT GETDATE()--2006-06-03 16:16:57.670
GETUTCDATE()Retorna a data/hora atual do sistema, de acordo com o padrão UTC (Universal Time Coordinate, ou Greenwich Mean Time)
SELECT GETUTCDATE()--2006-06-03 19:16:57.670
DAY(DATA)Retorna o dia de uma data
SELECT DAY(GETDATE())--3
SELECT DAY('2006-12-15')--15
SELECT DAY('15-12-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SELECT DAY('12-15-2006')--15
SET DATEFORMAT DMY--MUDA O PADRÃO DE DATA DO SQL SERVER DE MDY (DEFAULT) PARA DMY
SELECT DAY('15-12-2006')
--15
SELECT DAY('12-15-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SET DATEFORMAT MDY--MUDA O PADRÃO DE DATA DO SQL SERVER DE DMY PARA O VALOR DEFAULT
MONTH(DATA)Retorna o mês de uma data
SELECT MONTH(GETDATE())--6
SELECT MONTH('2006-12-15')--12
SELECT MONTH('15-12-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SELECT MONTH('12-15-2006')--12
SET DATEFORMAT DMY--MUDA O PADRÃO DE DATA DO SQL SERVER DE MDY (DEFAULT) PARA DMY
SELECT MONTH('15-12-2006')--12
SELECT MONTH('12-15-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SET DATEFORMAT MDY--MUDA O PADRÃO DE DATA DO SQL SERVER DE DMY PARA O VALOR DEFAULT
YEAR(DATA)Retorna o ano de uma data
SELECT YEAR(GETDATE())--2006
SELECT YEAR('2006-12-15')--2006
SELECT YEAR('15-12-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SELECT YEAR('12-15-2006')--2006
SET DATEFORMAT DMY--MUDA O PADRÃO DE DATA DO SQL SERVER DE MDY (DEFAULT) PARA DMY
SELECT YEAR('15-12-2006')--2006
SELECT YEAR('12-15-2006')--ERRO 242: The conversion of a char data type to a datetime data type resulted--in an out-of-range datetime value.
SET DATEFORMAT MDY--MUDA O PADRÃO DE DATA DO SQL SERVER DE DMY PARA O VALOR DEFAULT
SELECT YEAR('19660912')--1966
DATENAME(PARTE, DATA)Retorna o nome da parte de uma data
SELECT DATENAME(YY, '2006-06-03 16:16:57.670')--2006 à YY = ANO DA DATA
SELECT DATENAME(QQ, '2006-06-03 16:16:57.670')--2 à QQ = TRIMESTRE DA DATA
SELECT DATENAME(MM, '2006-06-03 16:16:57.670')--June à MM = MÊS DA DATA
SELECT DATENAME(DY, '2006-06-03 16:16:57.670')--154 à DY = DIA DO ANO
SELECT DATENAME(DD, '2006-06-03 16:16:57.670')--3 à DD = DIA DO MÊS
SELECT DATENAME(WK, '2006-06-03 16:16:57.670')--22 à WK = SEMANA DO ANO
SELECT DATENAME(DW, '2006-06-03 16:16:57.670')--Saturday à DW = DIA DA SEMANA
SELECT DATENAME(HH, '2006-06-03 16:16:57.670')
--16 à HH = HORA DA DATA
SELECT DATENAME(MI, '2006-06-03 16:16:57.670')--16 à MI = MINUTO DA DATA
SELECT DATENAME(SS, '2006-06-03 16:16:57.670')--57 à SS = SEGUNDO DA DATA
SELECT DATENAME(MS, '2006-06-03 16:16:57.670')--670 à MS = MILISSEGUNDO DA DATA
DATEPART(PARTE, DATA)Retorna a parte de uma data
SELECT DATEPART(YY, '2006-06-03 16:16:57.670')--2006 à YY = ANO DA DATA
SELECT DATEPART(QQ, '2006-06-03 16:16:57.670')--2 à QQ = TRIMESTRE DA DATA
SELECT DATEPART(MM, '2006-06-03 16:16:57.670')--6 à MM = MÊS DA DATA
SELECT DATEPART(DY, '2006-06-03 16:16:57.670')--154 à DY = DIA DO ANO
SELECT DATEPART(DD, '2006-06-03 16:16:57.670')--3 à DD = DIA DO MÊS
SELECT DATEPART(WK, '2006-06-03 16:16:57.670')--22 à WK = SEMANA DO ANO
SELECT DATEPART(DW, '2006-06-03 16:16:57.670')--7 à DW = DIA DA SEMANA
SELECT DATEPART(HH, '2006-06-03 16:16:57.670')--16 à HH = HORA DA DATA
SELECT DATEPART(MI, '2006-06-03 16:16:57.670')--16 à MI = MINUTO DA DATA
SELECT DATEPART(SS, '2006-06-03 16:16:57.670')--57 à SS = SEGUNDO DA DATA
SELECT DATEPART(MS, '2006-06-03 16:16:57.670')--670 à MS = MILISSEGUNDO DA DATA
DATEADD(PARTE, VALOR, DATA)Adiciona um valor a uma parte de uma data
SELECT DATEADD(YY, 10, '2006-06-03 16:16:57.670')--'2016-06-03 16:16:57.670'
SELECT DATEADD(YY, -10, '2006-06-03 16:16:57.670')--'1996-06-03 16:16:57.670'
SELECT DATEADD(MM, 12, '2006-06-03 16:16:57.670')--'2007-06-03 16:16:57.670'
SELECT DATEADD(DD, 30, '2006-06-03 16:16:57.670')--'2006-07-03 16:16:57.670'
SELECT DATEADD(DD, 60, '2006-06-03 16:16:57.670')--'2006-08-02 16:16:57.670'
DATEDIFF(PARTE, DATA_INICIAL, DATA_FINAL)Subtrai a data inicial da data final, retornando o resultado na unidade definida em “PARTE”
SELECT DATEDIFF(YY, '1966-09-12', '2006-06-03 16:16:57.670')--40
SELECT DATEDIFF(MM, '1966-09-12', '2006-06-03 16:16:57.670')--477
SELECT DATEDIFF(DD, '1966-09-12', '2006-06-03 16:16:57.670')--14509
SELECT DATEDIFF(MI, '1966-09-12', '2006-06-03 16:16:57.670')--20893936