Funções escalares do SQL Server

6

Click here to load reader

Transcript of Funções escalares do SQL Server

Page 1: 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')

Page 2: Funções escalares do SQL Server

--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

Page 3: Funções escalares do SQL Server

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')

Page 4: Funções escalares do SQL Server

--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

Page 5: Funções escalares do SQL Server

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