Às vezes lidando com data e hora em SQL pode ser bastante complicado. Embora a data e a hora sejam, na verdade, tipos de dados completamente diferentes, muitas vezes são mesclados em um tipo de dados datetime date. Datas e horas SQL sozinhos são bastante simples, mas mesclar os dois pode ser uma das tarefas mais dolorosas. Neste artigo, aprenderemos sobre o tipo de data e hora do SQL em detalhes.
- Qual é o tipo de dados DateTime?
- descrição datetime
- Conversão de outros tipos de data e hora para o tipo de dados datetime
Qual é o tipo de dados datetime?
No SQL, data hora tipo de dados de data é usado para valores que contêm data e hora. Microsoft define como um data combinada com uma hora do dia com segundos fracionários que se baseia em um relógio de 24 horas .
O 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 os valores DATETIME no formato ‘AAAA-MM-DD hh: mm: ss’. O intervalo compatível é '1753-01-01 00:00:00' a '9999-12-31 23: 59: 59,997'. Vamos explorar o tipo de data e hora em mais detalhes.
descrição datetime
Verifique a tabela a seguir para saber mais sobre o tipo de data e hora do SQL.
Propriedade | Valor |
Sintaxe | data hora |
Uso | DECLARAR @MyDatetimedata hora CRIAR TABELA Tabela1 (Coluna1data hora) |
Formato | ‘AAAA-MM-DD hh: mm: ss.nnn |
Intervalo de tempo | 00:00:00 a 23: 59: 59.997 |
Intervalos de elementos |
|
Tamanho de armazenamento como criar uma lista vinculada em c | 8 bytes |
Valor padrão | 1900-01-01 00:00:00 |
Calendário | Gregoriano (inclui o intervalo completo de anos.) |
Nota: Os detalhes acima se aplicam ao tipo de data e hora em Transact-SQL eServidor SQL.
Então isso é data hora em SQL. Mas o que você faria se tivesse outro encontro etipos de tempo e você deve convertê-los para data hora tipo?
Conversão de outros tipos de data e hora para o tipo de dados datetime
o data hora tipo de dados em 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 .000, .003 ou .007 segundos. Então, quando você converte um encontro ou Tempo valores para data hora , informações extras são adicionadas ao valor. Isso ocorre porque o data hora tipo de dados contém data e hora. Esta parte do artigo explica o que ocorre quando outro data e hora tipos de dados são convertidos para o data hora tipo de dados.
Exemplo 1: conversão implícita entre data e data e hora
DECLARE @date date = '2020-12-01' DECLARE @datetime datetime = @date
Resultado
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Exemplo 2: conversão implícita entre data e data e hora usando CAST ()
DECLARE @thedate data = '2020-12-01' SELECT @thedate AS 'data', CAST (@thedate AS datetime) AS 'datetime'
Resultado
@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21
Exemplo 3: conversão implícita de smalldatetime para datetime
Quando a conversão é de s malldatetime tipo, as horas e os minutos são copiados. Os segundos e os segundos fracionários são definidos com o valor 0. O código a seguir mostra os resultados da conversão de um smalldatetime valor para um data hora valor.
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 data hora tipos para data-hora digite implicitamente ou usando fundida() e converter() métodos. Para sua referência, verifique a tabela abaixo para se familiarizar com os formatos de todos os tipos de data e hora.
Tipo de dados | Exemplo |
Tempo | 12:35:29. 1234567 |
encontro | 08/05/2007 |
smalldatetime | 2007-05-08 12:35:00 |
data hora | 08/05/2007 12: 35: 29.123 |
datetime2 | 2007-05-08 12:35:29. 1234567 |
datetimeoffset | 08/05/2007 12: 35: 29.1234567 +12: 15 |
Com isso, chegamos ao final deste artigo. Espero que você tenha sido claro sobre o conteúdo discutido aqui. Pratique o máximo possível e reverta sua experiência.
Se você deseja aprender mais sobre MySQL e conheça este banco de dados relacional de código aberto e, em seguida, verifique nosso que vem com treinamento ao vivo conduzido por instrutor e experiência em projetos da vida real. Este treinamento o ajudará a entender o MySQL em profundidade e a obter domínio sobre o assunto.
Tem alguma questão para nós? Mencione isso na seção de comentários deste artigo ‘Procedimentos em SQL e entraremos em contato com você.