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.
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.
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 ?
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 .
DECLARE @date date = '2020-12-01';
DECLARE @datetime datetime = @date;
Resultado
@datetime @date
------------------------- ----------
2016-12-21 00:00:00.000 2016-12-21
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
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