Categorias:

Funções de data e hora

PREVIOUS_DAY

Retorna a data do primeiro dia da semana especificado (DOW) que ocorre antes da data de entrada.

Consulte também:

LAST_DAY , NEXT_DAY

Sintaxe

PREVIOUS_DAY( <date_or_timetamp_expr> , <dow> )
Copy

Argumentos

date_or_timestamp_expr

Uma data ou um carimbo de data/hora, ou uma expressão que pode ser avaliada como uma data ou um carimbo de data/hora.

dow_string

Especifica o dia da semana utilizado para calcular a data para o dia anterior. O valor pode ser uma cadeia de caracteres literal ou uma expressão que retorna uma cadeia de caracteres. A cadeia de caracteres deve começar com os dois primeiros caracteres (sem distinção de maiúsculas e minúsculas) do nome do dia:

  • su (domingo)

  • mo (segunda-feira)

  • tu (terça-feira)

  • we (quarta-feira)

  • th (quinta-feira)

  • fr (sexta-feira)

  • sa (sábado)

Todos os espaços principais e caracteres finais, incluindo espaços, na cadeia de caracteres são ignorados.

Retornos

Essa função retorna um valor do tipo DATE, mesmo que date_or_timetamp_expr seja um carimbo de data/hora.

Exemplos

Retornar a data da sexta-feira anterior que ocorreu antes da data atual:

SELECT CURRENT_DATE() AS "Today's Date",
       PREVIOUS_DAY("Today's Date", 'Friday') AS "Previous Friday";
Copy
+--------------+-----------------+
| Today's Date | Previous Friday |
|--------------+-----------------|
| 2025-05-06   | 2025-05-02      |
+--------------+-----------------+

Sua saída será diferente porque o exemplo usa a função CURRENT_DATE.