sql >> Database >  >> RDS >> MariaDB

Hoe GET_FORMAT() werkt in MariaDB

In MariaDB, GET_FORMAT() is een ingebouwde datum- en tijdfunctie die een opmaakreeks retourneert.

Deze functie kan handig zijn bij het werken met functies die een opmaakstring vereisen, zoals DATE_FORMAT() en STR_TO_DATE() .

Syntaxis

De syntaxis gaat als volgt:

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

Voorbeeld

Hier is een voorbeeld:

SELECT GET_FORMAT(DATE, 'EUR');

Resultaat:

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

Dit toont ons het formaat dat moet worden gebruikt bij het werken met datums in EUR-formaat.

Hier is nog een voorbeeld. Deze keer retourneren we de ISO-notatiereeks voor datetime:

SELECT GET_FORMAT(DATETIME, 'ISO');

Resultaat:

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

Met DATE_FORMAT()

In dit voorbeeld gebruik ik GET_FORMAT() als het tweede argument voor de DATE_FORMAT() functie. Hierdoor kan ik de datum formatteren zonder dat ik de daadwerkelijke opmaakreeks hoef te onthouden die ik moet gebruiken.

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

Resultaat:

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

Mogelijke opmaakstrings

Hier is een tabel met de mogelijke opmaakstrings:

Argumenten Resulterende indeling
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’

Ontbrekend argument

GET_FORMAT() . aanroepen met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:

SELECT GET_FORMAT();

Resultaat:

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

En nog een voorbeeld:

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

Resultaat:

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

  1. PHP 5-applicaties uitvoeren met MySQL 8.0 op CentOS 7

  2. Authenticatie-plug-in 'caching_sha2_password' wordt niet ondersteund

  3. Opgestelde verklaring over Postgresql in Rails

  4. Verschil tussen SELECT INTO en INSERT INTO in MySQL