Anda di halaman 1dari 5

BD-SQL14-Tratamendo-Datas -1-

TRATAMENTO DE DATAS NO SQL SERVER 2000

● Para armazenar uma data em uma coluna (atributo) do tipo DATETIME:


Formato: AAAA-MM-DD
AAAA/MM/DD
AAAA.MM.DD

Exemplo: INSERT INTO teste1


(codigo, data)
VALUES
(2,'2004-5-1')

● Retornando a data do sistema (data atual):


Função: GETDATE ()

SELECT GETDATE()

● Retornando o DIA, MES e ANO de uma data:


○ Função DAY (data) – retorna o dia da data
○ Função MONTH (data) – retorna o mês da data
○ Função YEAR (data) – retorna o ano da data

Exemplo:

SELECT ADMISSAO,
DAY (ADMISSAO) AS [DIA DA ADMISSAO],
MONTH (ADMISSAO) AS [MÊS DA ADMISSAO],
YEAR (ADMISSAO) AS [ANO DA ADMISSAO],
GETDATE () AS [DATA ATUAL]
FROM TABELA_EMPREGADO

Exercício: Selecione o nome do empregado e a data de admissão dos empregados que


foram admitidos no mês de fevereiro de qualquer ano.

SELECT NOME_EMPREGADO, ADMISSAO FROM


TABELA_EMPREGADO WHERE MONTH (ADMISSAO)=2

BD-SQL14-Tratamendo-Datas -1-
BD-SQL14-Tratamendo-Datas -1-

● Adicionando dias, meses e anos a uma data:


Função: DATEADD (TIPO,QT,DATA),
Onde:
○ TIPO= MONTH para mês;
○ TIPO=DAY para dia;
○ TIPO=YEAR para ano

○ QT = quantidade a ser acrescida ou subtraída, é um número inteiro

○ DATA = campo (atributo) do tipo DATETIME ou uma data

Exemplo:

SELECT GETDATE(),DATEADD(YEAR,-1,GETDATE())

SELECT GETDATE(),DATEADD(MONTH,1,GETDATE())

SELECT GETDATE(),DATEADD(DAY,1,GETDATE())

SELECT DATEADD(DAY,1,'2004-03-19')

BD-SQL14-Tratamendo-Datas -1-
BD-SQL14-Tratamendo-Datas -1-

● Retornando a diferença entre duas datas para partes especificadas da data, como
dias, meses e anos.

Função: DATEDIFF (TIPO,DATA 1, DATA 2)

Onde:
○ TIPO= MONTH para mês;
○ TIPO=DAY para dia;
○ TIPO=YEAR para ano

○ DATA1 = primeira data (inicial)


○ DATA2 = segunda data (final)

Exercício:

a. Mostre a quantidade de dias decorridos da data de admissão do


empregado até hoje.

SELECT NOME_EMPREGADO, ADMISSAO,


DATEDIFF(DAY,ADMISSAO,GETDATE()) AS [DIAS
DECORRIDOS]
FROM TABELA_EMPREGADO

b. Mostre a quantidade de meses decorridos da data de admissão do


empregado até hoje.

SELECT NOME_EMPREGADO, ADMISSAO,


DATEDIFF(MONTH,ADMISSAO,GETDATE()) AS [MESES
DECORRIDOS]
FROM TABELA_EMPREGADO

c. Mostre a quantidade de anos trabalhados dos empregados desde a data de


admissão.

SELECT NOME_EMPREGADO, ADMISSAO,


DATEDIFF (YEAR,ADMISSAO,GETDATE()) AS [ANOS
TRABALHADOS]
FROM TABELA_EMPREGADO

BD-SQL14-Tratamendo-Datas -1-
BD-SQL14-Tratamendo-Datas -1-

● Formatando datas.
Para converter uma data entre os formatos possíveis, utiliza-se a função
CONVERT. Esta função pode ser usada para formatar um campo a ser exibido,
como em uma condição de restrição.

Função: CONVERT (VARCHAR (10),DATA,TIPO):

Onde:

TIP
O
AA AAAA PADRÃO SAÍDA
0 ou100 default MM DD AAAA HH:MM (AM ou
PM)
1 101 USA MM/DD/YY
2 102 ANSI YY.MM.DD
3 103 BRITISH/FRENCH DD/MM/YY
4 104 GERMAN DD.MM.YY
5 105 ITALIAN DD-MM-YY

Exemplo:

SELECT GETDATE(), CONVERT(VARCHAR(10),GETDATE(),103)

Exercício:

a. Mostrar a data de admissao no formato DD/MM/AAAA dos empregados:

SELECT NOME_EMPREGADO,
ADMISSAO,
CONVERT (VARCHAR (10),ADMISSAO,103) AS [DATA DE
ADMISSÃO]
FROM TABELA_EMPREGADO
ORDER BY ADMISSAO

b. Mostrar a data de admissao no formato DD/MM/AAAA dos empregados, para


os admitidos antes de 01/01/1981.

SELECT NOME_EMPREGADO,
ADMISSAO,
CONVERT (VARCHAR (10),ADMISSAO,103)
AS [DATA DE ADMISSÃO]
FROM TABELA_EMPREGADO
WHERE ADMISSAO<'1981/01/01'
ORDER BY ADMISSAO

BD-SQL14-Tratamendo-Datas -1-
BD-SQL14-Tratamendo-Datas -1-

Retornando a hora, o minuto, o segundo e o milisegundo.

Função: Datename (TIPO, DATA)

Onde TIPO = hour, minute, second, millisecond.

DATA = a data

Ex. Select Datename(hour,getdate())

BD-SQL14-Tratamendo-Datas -1-

Anda mungkin juga menyukai