Função de data SQLite

Resumo : neste tutorial, você aprenderá como usar a date()função SQLite para manipular dados de data.

Introdução à date()função SQLite

A date()função aceita uma string de tempo e zero ou mais modificadores como argumentos. Ele retorna uma string de data neste formato: YYYY-MM-DD.

O seguinte mostra a sintaxe da DATE()função:

DATE(timestring, modifier, modifier,...)
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe, cada modificador é usado para aplicar uma transformação ao valor de tempo à sua esquerda. Os modificadores são aplicados da esquerda para a direita, portanto, suas ordens são importantes.

Por exemplo, a instrução a seguir retorna o último dia do mês:

SELECT 
    DATE('now',
        'start of month',
        '+1 month',
        '-1 day');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo:

  • nowé uma string de hora que especifica a data atual.
  •  start of month, +1 monthe -1 daysão os modificadores.

A função funciona da seguinte forma:

  • Primeiro, start of monthé aplicado à data atual especificada pela nowsequência de tempo, de modo que o resultado seja o primeiro dia do mês atual.
  • Segundo, +1 monthé aplicado ao primeiro dia do mês atual que resulta no primeiro dia do mês seguinte.
  • Terceiro, -1 day é aplicado ao primeiro dia do mês seguinte que resulta no último dia do mês anterior.

Formatos de sequência de tempo

A tabela a seguir mostra os formatos de sequência de tempo disponíveis:

Não Formatar
1 AAAA-MM-DD
2 AAAA-MM-DD HH:MM
3 AAAA-MM-DD HH:MM:SS
4 AAAA-MM-DD HH:MM:SS.SSS
5 AAAA-MM-DD T HH:MM
6 AAAA-MM-DD T HH:MM:SS
7 AAAA-MM-DD T HH:MM:SS.SSS
8 HH:MM
9 HH:MM:SS
10 HH:MM:SS.SSS
11 agora
12 DDDDDDDDDD

Notas

No formato 5 a 7, o ” T” é um separador de data e hora, conforme exigido pela ISO-8601.

A now string retorna a data e hora atuais em UTC.

The DDDDDDDDDDé o número do dia juliano expresso como um número de ponto flutuante.

Modificadores

Não Modificador Descrição
1 NNN dias Adicione ±NNN dias a uma data e hora
2 Horas NNN Adicione ±NNN horas a uma data e hora
3 NNN minutos Adicione ±NNN minutos a uma data e hora
4 NNN.NNNN segundos Adicionar ±NNN segundos de/para uma data e hora
5 NNN meses Adicione ±NNN meses a uma data e hora
6 NNN anos Adicione ±NNN ano a uma data e hora
7 início do mês De volta ao início do mês
8 começo do ano de volta ao início do ano
9 começo do dia De volta ao início do dia
10 dia da semanaN Avance uma data para a próxima data em que o número do dia da semana seja N
11 unixepoch Hora Unix
12 horário local Retornar hora local
13 UTC Retornar hora UTC

Adicionando/subtraindo um valor de uma data

Os primeiros seis modificadores somam ±NNNtempo à data e hora anteriores. O 's'caractere no final do nome do modificador é opcional.

retrocedendo até o início do ano, mês e dia

Os símbolos start of year, start of month, e start of daymudam a data e a hora de volta para o início do ano, mês e dia.

Dia da semana N

O weekdaymodificador avança a data para a próxima data onde o número do dia da semana é 0 (domingo), 1 (segunda-feira), etc. Se a data já estiver no dia da semana desejado, o weekdaymodificador não tem nenhum efeito e deixa a data inalterada.

UTC e hora local

O datetime('now')retorna a hora atual em UTC:

SELECT DATETIME('now');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

No entanto, DATETIME('now','localtime')retorna a hora local atual

SELECT DATETIME('now','localtime');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

É uma boa prática armazenar a data e hora em UTC e, em seguida, no aplicativo, você pode converter a hora UTC para a hora local.

unixepoch

O unixepochmodificador faz com que DDDDDDDDDDseja interpretado como tempo Unix, que é o número de segundos desde 1970.

DATE()Exemplos de funções SQLite

Obtenha a data atual no horário UTC:

SELECT DATE('now');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Obtenha a data local atual:

SELECT DATE('now','localtime');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Subtrair dia de uma data:

SELECT DATE('2018-11-01','-1 day');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2018-10-31
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Subtraia um mês de uma data:

SELECT DATE('2018-11-01','-1 month');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2018-10-01
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Subtraia um ano de uma data:

SELECT DATE('2018-11-01','-1 year');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2017-11-01
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Adicione um dia até a data:

SELECT DATE('2018-11-01','+1 day');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2018-11-02
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Adicione um mês até a data:

SELECT DATE('2018-11-01','+1 month');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2018-12-01
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Adicione um ano até a data:

SELECT DATE('2018-11-01','+1 year');
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

2019-11-01    
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, você aprendeu como usar a DATE()função SQLite para manipular dados de data.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *