No MariaDB,
GET_FORMAT()
é uma função de data e hora integrada que retorna uma string de formato. Esta função pode ser útil ao trabalhar com funções que requerem uma string de formato, como
DATE_FORMAT()
e STR_TO_DATE()
. Sintaxe
A sintaxe fica assim:
GET_FORMAT({DATE|DATETIME|TIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})
Exemplo
Aqui está um exemplo:
SELECT GET_FORMAT(DATE, 'EUR');
Resultado:
+-------------------------+| GET_FORMAT(DATA, 'EUR') |+-------------------------+| %d.%m.%Y |+-------------------------+
Isso nos mostra o formato a ser usado ao trabalhar com datas no formato EUR.
Aqui está outro exemplo. Desta vez, retornamos a string de formato ISO para datetime:
SELECT GET_FORMAT(DATETIME, 'ISO');
Resultado:
+-----------------------------+| GET_FORMAT(DATETIME, 'ISO') |+-----------------------------+| %Y-%m-%d %H:%i:%s |+-----------------------------+Com
DATE_FORMAT()
Neste exemplo, eu usoGET_FORMAT()
como o segundo argumento para oDATE_FORMAT()
função. Isso me permite formatar a data sem precisar lembrar a string de formato real a ser usada.
SELECT DATE_FORMAT('2030-08-25', GET_FORMAT(DATE,'USA'));
Resultado:
+---------------------------------------------- -----+| DATE_FORMAT('2030-08-25', GET_FORMAT(DATA,'EUA')) |+----------------------------- ------------+| 25.08.2030 |+------------------------------------------------------------ ------+Strings de formato possíveis
Aqui está uma tabela das strings de formato possíveis:
Argumentos | Formato resultante |
---|---|
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' |
Argumento ausente
Chamando
GET_FORMAT()
com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:SELECT GET_FORMAT();
Resultado:
ERRO 1064 (42000):Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MariaDB para a sintaxe correta para usar perto de ')' na linha 1
E outro exemplo:
SELECT GET_FORMAT( DATE, 'JIS', 'OOPS' );
Resultado:
ERRO 1064 (42000):Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde à versão do seu servidor MariaDB para a sintaxe correta para usar perto de ' 'OOPS' )' na linha 1