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 month
e-1 day
são os modificadores.
A função funciona da seguinte forma:
- Primeiro,
start of month
é aplicado à data atual especificada pelanow
sequê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 ±NNN
tempo à 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 day
mudam a data e a hora de volta para o início do ano, mês e dia.
Dia da semana N
O weekday
modificador 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 weekday
modificador 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 unixepoch
modificador faz com que DDDDDDDDDD
seja 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.