MySQL GET_FORMAT 函数是日期函数之一,用于返回日期和时间的格式化字符串。通常,我们将其与 DATE_FORMAT 和 STR_TO_DATE 函数结合使用,基本语法如下所示。
GET_FORMAT(Date/Time/DateTime, format);
MySQL GET_FORMAT 选项
以下是可用于格式化日期和时间的 ISO 格式说明符列表。
| GET_FORMAT 调用 | 结果 |
|---|---|
| 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’ |
MySQL GET_FORMAT 函数示例
在这里,我们使用了 DATE_FORMAT 方法。在其内部,我们使用了此方法。从下面的 MySQL 代码片段中,您可以看到我们使用了 USA、EUR 和 INTERNAL 作为第二个参数。
SELECT DATE_FORMAT('2019-02-28', GET_FORMAT(DATE, 'USA'));
SELECT DATE_FORMAT('2019-02-28', GET_FORMAT(DATE, 'EUR'));
SELECT DATE_FORMAT('2019-02-28', GET_FORMAT(DATE, 'INTERNAL'));

在此示例中,我们正在使用 GET_FORMAT 函数并结合 STR_TO_DATE。通过这种方式,您可以指定要转换为日期的字符串格式。
例如,在第一个语句中,给定的字符串是 USA 格式。因此,这个 日期方法 使用 STR_TO_DATE 方法将该字符串转换为日期。
请参考 DATE_FORMAT 和 STR_TO_DATE 方法。
SELECT STR_TO_DATE('01.31.2019', GET_FORMAT(DATE, 'USA'));
SELECT STR_TO_DATE('31.12.2018', GET_FORMAT(DATE, 'EUR'));
SELECT DATE_FORMAT('2019-02-28 10:22:33.999998', GET_FORMAT(TIME, 'EUR'));
