跳到主要内容

GET_FORMAT

描述

返回特定的格式字符串

该函数与 mysql 中的 GET_FORMAT 函数 行为一致

语法

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

返回值

返回一个格式字符串,不同参数最终的结果值如下表所示:

函数调用结果
GET_FORMAT(DATE,'USA')'%m.%d.%Y'
GET_FORMAT(DATE,'JIS')'%Y-%m-%d'
GET_FORMAT(DATE,'ISO')'%Y-%m-%d'
GET_FORMAT(DATE,'EUR')'%d.%m.%Y'
GET_FORMAT(DATE,'INTERNAL')'%Y%m%d'
GET_FORMAT(DATETIME,'USA')'%Y-%m-%d %H.%i.%s'
GET_FORMAT(DATETIME,'JIS')'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'ISO')'%Y-%m-%d %H:%i:%s'
GET_FORMAT(DATETIME,'EUR')'%Y-%m-%d %H.%i.%s'
GET_FORMAT(DATETIME,'INTERNAL')'%Y%m%d%H%i%s'
GET_FORMAT(TIME,'USA')'%h:%i:%s %p'
GET_FORMAT(TIME,'JIS')'%H:%i:%s'
GET_FORMAT(TIME,'ISO')'%H:%i:%s'
GET_FORMAT(TIME,'EUR')'%H.%i.%s'
GET_FORMAT(TIME,'INTERNAL')'%H%i%s'

当第二个参数不为 'USA', 'JIS', 'ISO', 'EUR', 'INTERNAL' 之一或者为 NULL 时返回 NULL

举例

SELECT * FROM get_format_test
+------+----------+
| id | lc |
+------+----------+
| 1 | USA |
| 2 | JIS |
| 3 | ISO |
| 4 | EUR |
| 5 | INTERNAL |
| 6 | Doris |
+------+----------+
SELECT lc, GET_FORMAT(DATE, lc) FROM get_format_test;
+----------+----------------------+
| lc | GET_FORMAT(DATE, lc) |
+----------+----------------------+
| USA | %m.%d.%Y |
| JIS | %Y-%m-%d |
| ISO | %Y-%m-%d |
| EUR | %d.%m.%Y |
| INTERNAL | %Y%m%d |
| Doris | NULL |
+----------+----------------------+
SELECT lc, GET_FORMAT(DATETIME, lc) FROM get_format_test;
+----------+--------------------------+
| lc | GET_FORMAT(DATETIME, lc) |
+----------+--------------------------+
| USA | %Y-%m-%d %H.%i.%s |
| JIS | %Y-%m-%d %H:%i:%s |
| ISO | %Y-%m-%d %H:%i:%s |
| EUR | %Y-%m-%d %H.%i.%s |
| INTERNAL | %Y%m%d%H%i%s |
| Doris | NULL |
+----------+--------------------------+
SELECT lc, GET_FORMAT(TIME, lc) FROM get_format_test;
+----------+----------------------+
| lc | GET_FORMAT(TIME, lc) |
+----------+----------------------+
| USA | %h:%i:%s %p |
| JIS | %H:%i:%s |
| ISO | %H:%i:%s |
| EUR | %H.%i.%s |
| INTERNAL | %H%i%s |
| Doris | NULL |
+----------+----------------------+
mysql> SELECT GET_FROMAT(ILLEGAL, 'USA');
ERROR 1105 (HY000): errCode = 2, detailMessage =
rule primaryExpression failed predicate: { $functionName.text.equalsIgnoreCase("get_format") }?(line 1, pos 17)