MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona GET_FORMAT() in MariaDB

In MariaDB, GET_FORMAT() è una funzione di data e ora incorporata che restituisce una stringa di formato.

Questa funzione può essere utile quando si lavora con funzioni che richiedono una stringa di formato, come DATE_FORMAT() e STR_TO_DATE() .

Sintassi

La sintassi è questa:

GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

Esempio

Ecco un esempio:

SELECT GET_FORMAT(DATE, 'EUR');

Risultato:

+-------------------------+
| GET_FORMAT(DATE, 'EUR') |
+-------------------------+
| %d.%m.%Y                |
+-------------------------+

Questo ci mostra il formato da utilizzare quando si lavora con le date in formato EUR.

Ecco un altro esempio. Questa volta restituiamo la stringa di formato ISO per datetime:

SELECT GET_FORMAT(DATETIME, 'ISO');

Risultato:

+-----------------------------+
| GET_FORMAT(DATETIME, 'ISO') |
+-----------------------------+
| %Y-%m-%d %H:%i:%s           |
+-----------------------------+

Con DATE_FORMAT()

In questo esempio, utilizzo GET_FORMAT() come secondo argomento per DATE_FORMAT() funzione. Ciò mi consente di formattare la data senza dover ricordare la stringa di formato effettiva da utilizzare.

SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));

Risultato:

+---------------------------------------------------+
| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA')) |
+---------------------------------------------------+
| 08.25.2030                                        |
+---------------------------------------------------+

Possibili stringhe di formato

Ecco una tabella delle possibili stringhe di formato:

Argomenti Formato risultante
DATE, 'EUR' '%d.%m.%Y'
DATE, 'USA' '%m.%d.%Y'
DATE, 'JIS' '%Y-%m-%d'
DATE, 'ISO' '%Y-%m-%d'
DATE, 'INTERNAL' '%Y%m%d'
DATETIME, 'EUR' '%Y-%m-%d %H.%i.%s'
DATETIME, 'USA' '%Y-%m-%d %H.%i.%s'
DATETIME, 'JIS' '%Y-%m-%d %H:%i:%s'
DATETIME, 'ISO' '%Y-%m-%d %H:%i:%s'
DATETIME, 'INTERNAL' '%Y%m%d%H%i%s'
TIME, 'EUR' '%H.%i.%s'
TIME, 'USA' '%h:%i:%s %p'
TIME, 'JIS' '%H:%i:%s'
TIME, 'ISO' '%H:%i:%s'
TIME, 'INTERNAL' '%H%i%s'

Argomento mancante

Chiamando GET_FORMAT() con il numero errato di argomenti, o senza passare alcun argomento, si verifica un errore:

SELECT GET_FORMAT();

Risultato:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1

E un altro esempio:

SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );

Risultato:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' 'OOPS' )' at line 1