DATE()
do SQLite A função nos fornece a capacidade de retornar a data da primeira instância de um determinado dia de um determinado mês. Portanto, podemos usá-lo para retornar a primeira segunda-feira de um determinado mês. Também podemos usá-lo para retornar a primeira terça, quarta, quinta, sexta, etc. Podemos usar
DATETIME()
se quisermos que um valor de data e hora seja retornado. Exemplo
SELECT DATE('2025-10-20', 'start of month', 'weekday 1');
Resultado:
2025-10-06
Nesse caso, a primeira segunda-feira de um determinado mês ocorre em 2025-10-06.
O
start of month
e weekday 1
modificadores modificam a data fornecida no primeiro argumento. Domingo é 0, segunda-feira é 1, terça-feira é 2 e assim por diante. Portanto, usamos um valor de weekday 1
para selecionar segunda-feira. Primeira segunda-feira do mês atual
Este exemplo percorre o processo usando a data atual:
SELECT
DATE('now') AS "Now",
DATE('now', 'start of month') AS "Start of Month",
DATE('now', 'start of month', 'weekday 1') AS "First Monday";
Resultado:
Now Start of Month First Monday ---------- -------------- ------------ 2022-03-09 2022-03-01 2022-03-07
Este exemplo nos mostra a data em cada estágio de sua modificação. Usamos
now
para retornar a data atual, então start of month
para movê-lo de volta para o início do mês, então weekday 1
para avançar a data para a primeira segunda-feira. O DATETIME()
Função
Também podemos usar o
DATETIME()
função para fazer a mesma coisa. A diferença é que inclui a parte do tempo:SELECT DATETIME('2025-10-20', 'start of month', 'weekday 1');
Resultado:
2025-10-06 00:00:00