SQL Datetime: Um guia abrangente

Aprenda tudo o que você precisa saber sobre SQL Datetime, desde tipos de dados até funções e operadores. Este guia abrangente cobre todos os fundamentos e além.

Às vezes, lidar com data e hora no SQL pode ser bastante complicado. Embora data e hora sejam tipos de dados completamente diferentes, eles geralmente são mesclados em um tipo de dados de data e hora. As datas e horários SQL sozinhos são bastante simples, mas mesclar os dois pode ser uma das tarefas mais dolorosas. Neste artigo, aprenderemos sobre o tipo SQL datetime em detalhes.

  • Qual é o tipo de dados DateTime?
  • data e hora Descrição
  • Convertendo outros tipos de data e hora para o tipo de dados datetime

Qual é o tipo de dados datetime?

No SQL, o tipo de dados datetime date é usado para valores que contêm data e hora. A Microsoft o define como uma  data combinada com uma hora do dia com segundos fracionários baseados em um relógio de 24 horas .

SQL especificamente, tem muitos tipos de dados que combinam as representações de data e hora, tornando as coisas mais complexas. O mais utilizado é o DATETIME, pois está presente desde as versões anteriores do SQL. SQL recupera e exibe valores DATETIME no formato 'AAAA-MM-DD hh: mm: ss'. O intervalo suportado é '1753-01-01 00:00:00' a '9999-12-31 23:59:59.997'. Vamos explorar o tipo datetime com mais detalhes.

data e hora Descrição

Verifique a tabela a seguir para saber mais sobre o tipo SQL datetime.

Observação: os detalhes acima se aplicam ao tipo de data e hora em Transact-SQL e SQL Server. 

Então, isso é datetime no SQL. Mas o que você faria se tivesse outros tipos de data e hora e precisasse convertê-los para o tipo de data e hora ?


Convertendo outros tipos de data e hora para o tipo de dados datetime

O  tipo de dados datetime  no SQL inclui a data e a hora, com uma parte de segundos fracionários de 3 dígitos. Sua precisão é arredondada para incrementos de 0,000, 0,003 ou 0,007 segundos. Portanto, quando você converte  valores de data ou hora em datetime , informações extras são adicionadas ao valor. Isso ocorre porque o  tipo de dados datetime contém data e hora. Esta parte do artigo explica o que ocorre quando outros tipos de dados de data e hora são convertidos no  tipo de dados datetime  .

Exemplo1: conversão implícita entre data e datahora

DECLARE @date date = '2020-12-01';  
DECLARE @datetime datetime = @date;

Resultado

@datetime               @date 
------------------------- ----------  
2016-12-21 00:00:00.000 2016-12-21  

Exemplo2: Conversão implícita entre data e datahora usando CAST()

DECLARE @thedate date = '2020-12-01'
SELECT
  @thedate AS 'date',
  CAST(@thedate AS datetime) AS 'datetime';

Resultado

@datetime               @date 
------------------------- ----------  
2016-12-21 00:00:00.000 2016-12-21  

Exemplo3: conversão implícita de smalldatetime para datetime

Quando a conversão é do tipo s malldatetime , as horas e os minutos são copiados. Os segundos e os segundos fracionários são definidos como valor 0. O código a seguir mostra os resultados da conversão de um valor smalldatetime em um valor datetime .

DECLARE @smalldatetime smalldatetime = '2020-12-01 12:32';  
DECLARE @datetime datetime = @smalldatetime;  
   
SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime';

Resultado

@datetime               @smalldatetime  
------------------------- -----------------------  
2016-12-01 12:32:00.000 2016-12-01 12:32:00

Da mesma forma, você pode converter outros tipos de data e hora para o tipo datatime implicitamente ou usando os métodos cast() e convert() . Para sua referência, verifique a tabela abaixo para se familiarizar com os formatos de todos os tipos de data e hora.

Com isso, chegamos ao final deste artigo. Espero que você esteja claro sobre o conteúdo discutido aqui.

#sql 

1.80 GEEK