В MariaDB, GET_FORMAT()
е вградена функция за дата и час, която връща форматен низ.
Тази функция може да бъде полезна при работа с функции, които изискват форматен низ, като DATE_FORMAT()
и STR_TO_DATE()
.
Синтаксис
Синтаксисът е така:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Пример
Ето един пример:
SELECT GET_FORMAT(DATE, 'EUR');
Резултат:
+------------------------+| GET_FORMAT(ДАТА, 'EUR') |+------------------------+| %d.%m.%Y |+------------------------------+
Това ни показва формата, който да се използва при работа с дати във формат EUR.
Ето още един пример. Този път връщаме низа на ISO формат за дата и час:
SELECT GET_FORMAT(DATETIME, 'ISO');
Резултат:
+----------------------------+| GET_FORMAT(DATETIME, 'ISO') |+----------------------------+| %Y-%m-%d %H:%i:%s |+----------------------------+предварително>С
DATE_FORMAT()
В този пример използвам
GET_FORMAT()
като втори аргумент наDATE_FORMAT()
функция. Това ми позволява да форматирам датата, без да се налага да помня действителния форматен низ, който да използвам.SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Резултат:
+------------------------------------------------------- -----+| DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'САЩ')) |+---------------------------- ---------------------+| 25.08.2030 г. |+----------------------------------------------------- ------+Възможни низове за формат
Ето таблица с възможните форматни низове:
Аргументи | Резултивен формат |
---|---|
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“ |
Липсващ аргумент
Извикване на GET_FORMAT()
с грешен брой аргументи или без подаване на аргументи, води до грешка:
SELECT GET_FORMAT();
Резултат:
ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис; проверете ръководството, което съответства на вашата версия на сървъра на MariaDB за правилния синтаксис, който да използвате близо до ')' на ред 1
И още един пример:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Резултат:
ГРЕШКА 1064 (42000):Имате грешка във вашия SQL синтаксис; проверете ръководството, което съответства на вашата версия на сървъра на MariaDB за правилния синтаксис, който да използвате близо до „„OOPS“)“ на ред 1