MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como retornar o número do dia com um sufixo no MariaDB


O MariaDB inclui uma grande coleção de funções de data e hora que retornam uma determinada data em um determinado formato.

Uma coisa que você pode fazer é retornar o número do dia com o sufixo “st/nd/rd/th” relevante. Por exemplo, em vez de devolvê-lo como, digamos, 10 de julho de 2025, ele é retornado como 10 de julho de 2025.

Abaixo está um exemplo de adição do sufixo relevante a um número de dia no MariaDB.

Exemplo


Para retornar o número do dia com o sufixo relevante, você pode usar o DATE_FORMAT() função.

Esta função aceita uma data e uma string de formato. A string de formato especifica como a data especificada deve ser formatada. A string de formato consiste em um ou mais especificadores de formato.

O %D especificador de formato retorna o dia com sufixo em inglês. Portanto, incluir este especificador de formato retornará o dia com um dos st , nd , rd , ou th anexado, dependendo do número do dia real.

Exemplo:
SELECT DATE_FORMAT('2030-01-01', '%D %M %Y');

Resultado:
+---------------------------------------+
| DATE_FORMAT('2030-01-01', '%D %M %Y') |
+---------------------------------------+
| 1st January 2030                      |
+---------------------------------------+

Aqui, combinei três especificadores de formato (%D %M %Y ) para produzir uma data completa. Nesse caso, o número do dia era 1 e assim st é anexado automaticamente.

Aqui estão mais alguns exemplos, para demonstrar os vários sufixos:
SELECT 
    DATE_FORMAT('2030-01-01', '%D') AS "1",
    DATE_FORMAT('2030-01-02', '%D') AS "2",
    DATE_FORMAT('2030-01-03', '%D') AS "3",
    DATE_FORMAT('2030-01-04', '%D') AS "4",
    DATE_FORMAT('2030-01-20', '%D') AS "20",
    DATE_FORMAT('2030-01-21', '%D') AS "21",
    DATE_FORMAT('2030-01-22', '%D') AS "22",
    DATE_FORMAT('2030-01-23', '%D') AS "23",
    DATE_FORMAT('2030-01-24', '%D') AS "24";

Resultado:
+------+------+------+------+------+------+------+------+------+
| 1    | 2    | 3    | 4    | 20   | 21   | 22   | 23   | 24   |
+------+------+------+------+------+------+------+------+------+
| 1st  | 2nd  | 3rd  | 4th  | 20th | 21st | 22nd | 23rd | 24th |
+------+------+------+------+------+------+------+------+------+

Neste caso eu uso apenas um especificador de formato (%D ) apenas para manter o exemplo conciso, mas a string de formato pode conter qualquer número de especificadores de formato. Veja esta lista de especificadores de formato MariaDB para mais informações.