购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.4 日期和时间函数

日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数外,也可以使用DATETIME或者TIMESTAMP类型的参数,但会忽略这些值的时间部分。相同的是,以TIME类型值为参数的函数,可以接收TIMESTAMP类型的参数,但会忽略日期部分。许多日期函数可以同时接收数字和字符串类型的参数。本节将介绍各种日期和时间函数的功能和用法。

4.4.1 获取当前日期的函数和获取当前时间的函数

CURDATE()和CURRENT_DATE()函数的作用相同,将当前日期按照“YYYY-MM-DD”或YYYYMMDD格式返回,具体格式根据函数是在字符串语境还是数字语境中而定。

例4.53 】使用日期函数获取系统当前日期,SQL语句如下:

    mysql> SELECT CURDATE(),CURRENT_DATE(), CURDATE() + 0;
    +------------+----------------+---------------+
    | CURDATE()  | CURRENT_DATE() | CURDATE() + 0 |
    +------------+----------------+---------------+
    | 2024-07-16 | 2024-07-16     |     20240716  |
    +------------+----------------+---------------+

可以看到,两个函数的作用相同,返回了相同的系统当前日期,“CURDATE() + 0”将当前日期值转换为数值型。

CURTIME()和CURRENT_TIME()函数的作用相同,将当前时间以“HH:MM:SS”或HHMMSS格式返回,具体格式根据函数是在字符串语境还是数字语境中而定。

例4.54 】使用时间函数获取系统当前时间,SQL语句如下:

    mysql> SELECT CURTIME(),CURRENT_TIME(),CURTIME() + 0;
    +-----------+----------------+---------------+
    | CURTIME() | CURRENT_TIME() | CURTIME() + 0 |
    +-----------+----------------+---------------+
    | 18:03:22  | 18:03:22       |      180322   |
    +-----------+----------------+---------------+

可以看到,两个函数的作用相同,都返回了相同的系统当前时间,“CURTIME () + 0”将当前时间值转换为数值型。

4.4.2 获取当前日期和时间的函数

CURRENT_TIMESTAMP()、LOCALTIME()、NOW()和SYSDATE()这4个函数的作用相同,均返回当前日期和时间值,格式为“YYYY-MM-DD HH:MM:SS”或YYYYMMDDHHMMSS,具体格式根据函数是在字符串语境还是数字语境中而定。

例4.55 】使用日期时间函数获取当前系统日期和时间,SQL语句如下:

    mysql>SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE();
    +-----------+------------+-------------+--------------------+
    | CURRENT_TIMESTAMP()    | LOCALTIME() | NOW()| SYSDATE()   |
    +-----------+---  -------+-------------+---------------------+
    | 2024-07-16 12:06:09 | 2024-07-16 12:06:09 | 2024-07-16 12:06:09 | 2024-07-16
12:06:09 |
    +-----------+-----------+-------------+---------------------+

可以看到,4个函数返回的结果是相同的。

4.4.3 UNIX时间戳函数

如果不带任何参数调用UNIX_TIMESTAMP()函数,它会返回一个无符号整数,代表从“1970-01-01 00:00:00”GMT开始至当前时间的秒数。其中,GMT(Greenwich Mean Time)为格林尼治标准时间。如果用date参数调用UNIX_TIMESTAMP()函数,它会返回date所表示的时间点距离“1970-01-01 00:00:00”GMT的秒数。date参数可以是DATE字符串、DATETIME字符串、TIMESTAMP类型或者是当地时间的YYMMDD或YYYYMMDD格式的数字。

例4.56 】使用UNIX_TIMESTAMP函数返回UNIX格式的时间戳,SQL语句如下:

    mysql> SELECT UNIX_TIMESTAMP(), UNIX_TIMESTAMP(NOW()), NOW();
    +------------------+-----------------------+---------------------+
    | UNIX_TIMESTAMP() | UNIX_TIMESTAMP(NOW()) | NOW()               |
    +------------------+-----------------------+---------------------+
    | 1721882134       |         1721882134    | 2024-07-25 12:35:34 |
    +------------------+-----------------------+---------------------+

FROM_UNIXTIME(date)函数把UNIX时间戳转换为普通格式的时间,与UNIX_TIMESTAMP (date)函数互为反函数。

例4.57 】使用FROM_UNIXTIME函数将UNIX时间戳转换为普通格式时间,SQL语句如下:

    mysql> SELECT FROM_UNIXTIME('1721882134');
    +-----------------------------+
    | FROM_UNIXTIME('1721882134') |
    +-----------------------------+
    | 2024-07-25 12:35:34.000000  |
    +-----------------------------+

可以看到,FROM_UNIXTIME('1721882134')与【例4.56】中UNIX_TIMESTAMP(NOW())的结果正好相反,即两个函数互为反函数。

4.4.4 返回UTC日期的函数和返回UTC时间的函数

UTC_DATE()函数返回当前UTC(世界标准时间)日期值,其格式为“YYYY-MM-DD”或YYYYMMDD,具体格式取决于函数是用在字符串语境还是数字语境中。

例4.58 】使用UTC_DATE()函数返回当前UTC日期值,SQL语句如下:

    mysql> SELECT UTC_DATE(), UTC_DATE() + 0;
    +------------+----------------+
    | UTC_DATE() | UTC_DATE() + 0 |
    +------------+----------------+
    | 2024-07-25 |      20240725   |
    +------------+----------------+

UTC_DATE()函数的返回值为当前时区的日期值。

UTC_TIME()返回当前UTC时间值,其格式为“HH:MM:SS”或HHMMSS,具体格式取决于函数是用在字符串语境还是数字语境中。

例4.59 】使用UTC_TIME()函数返回当前UTC时间值,SQL语句如下:

    mysql> SELECT UTC_TIME(), UTC_TIME() + 0;
    +------------+----------------+
    | UTC_TIME() | UTC_TIME() + 0 |
    +------------+----------------+
    | 10:08:22   |        100822   |
    +------------+----------------+

UTC_TIME()函数返回当前时区的时间值。

4.4.5 获取月份的函数MONTH(date)和MONTHNAME(date)

MONTH(date)函数返回date对应的月份,值的范围为1~12。

例4.60 】使用MONTH()函数返回指定日期中的月份,SQL语句如下:

    mysql> SELECT MONTH('2020-02-13');
    +---------------------+
    | MONTH('2020-02-13') |
    +---------------------+
    |               2     |
    +---------------------+

MONTHNAME(date)函数返回date对应月份的英文全名。

例4.61 】使用MONTHNAME()函数返回指定日期中月份的名称,SQL语句如下:

    mysql> SELECT MONTHNAME('2018-02-13');
    +-------------------------+
    | MONTHNAME('2018-02-13') |
    +-------------------------+
    | February                |
    +-------------------------+

4.4.6 获取星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)

DAYNAME(d)函数返回日期d所对应的星期几的英文名称,例如Sunday、Monday等。

例4.62 】使用DAYNAME()函数返回指定日期所对应的星期几的英文名称,SQL语句如下:

    mysql> SELECT DAYNAME('2018-10-10');
    +---------------------------------+
    | DAYNAME('2018-10-10')           |
    +---------------------------------+
    | Wednesday                        |
    +---------------------------------+

可以看到,2018年10月10日是星期三,因此返回结果为Wednesday。

DAYOFWEEK(d)函数返回日期d所对应的周索引,1表示星期日,2表示星期一……7表示星期六。

例4.63 】使用DAYOFWEEK()函数返回日期对应的周索引,SQL语句如下:

    mysql> SELECT DAYOFWEEK('2018-10-10');
    +-------------------------+
    | DAYOFWEEK('2018-10-10') |
    +-------------------------+
    |                  4      |
    +-------------------------+

由【例4.62】可知,2018年10月10日为周三,其对应的周索引值为4,因此本例结果为4。

WEEKDAY(d)函数返回日期d所对应的周索引,0表示星期一,1表示星期二……6表示星期日。

例4.64 】使用WEEKDAY()函数返回日期对应的周索引,SQL语句如下:

    mysql>SELECT WEEKDAY('2018-10-10 22:23:00'), WEEKDAY('2018-11-11');
    +--------------------------------+-----------------------+
    | WEEKDAY('2018-10-10 22:23:00') | WEEKDAY('2018-11-11') |
    +--------------------------------+-----------------------+
    |                        2       |                6      |
    +--------------------------------+-----------------------+

可以看到,WEEKDAY()和DAYOFWEEK()函数都返回指定日期在某一周内的位置,只是索引编号不同。

4.4.7 获取星期数的函数WEEK(d)和WEEKOFYEAR(d)

WEEK(d)计算日期d是一年中的第几周。WEEK(d, Mode)的双参数形式允许指定该星期是否起始于周日或周一,以及返回值的范围是否为0~53或1~53。若Mode参数被省略,则使用系统自变量default_week_format的值,具体可参考表4.1。

表4.1 WEEK()函数中Mode参数的取值

例4.65 】使用WEEK()函数查询指定日期是一年中的第几周,SQL语句如下:

    mysql>SELECT WEEK('2018-02-20'),WEEK('2018-02-20',0), WEEK('2018-02-20',1);
    +--------------------+----------------------+----------------------+
    | WEEK('2018-02-20') | WEEK('2018-02-20',0) | WEEK('2018-02-20',1) |
    +--------------------+----------------------+----------------------+
    |              7     |                7     |                  8   |
    +--------------------+----------------------+----------------------+

可以看到,WEEK('2018-02-20')使用一个参数,其第二个参数为default_week_format的默认值,MySQL中该值为0,指定一周的第一天为周日,因此和WEEK('2018-02-20',0)的返回结果相同;WEEK('2018-02-20',1)中第二个参数为1,指定一周的第一天为周一,返回值为8。可以看到,第二个参数不同,返回的结果也不同。使用不同的参数的原因是不同地区和国家的习惯不同,每周的第一天并不相同。

WEEKOFYEAR(d)计算某天位于一年中的第几周,范围是1~53,相当于WEEK(d,3)。

例4.66 】使用WEEKOFYEAR()查询指定日期是一年中的第几周,SQL语句如下:

    mysql> SELECT WEEK('2018-01-20',3), WEEKOFYEAR('2018-01-20');
    +----------------------+--------------------------+
    | WEEK('2018-01-20',3) | WEEKOFYEAR('2018-01-20') |
    +----------------------+--------------------------+
    |                3     |                   3      |
    +----------------------+--------------------------+

可以看到,两个函数返回结果相同。

4.4.8 获取天数的函数DAYOFYEAR(d)和DAYOFMONTH(d)

DAYOFYEAR(d)函数返回日期d是一年中的第几天,范围是1~366。

例4.67 】使用DAYOFYEAR()函数返回指定日期在一年中的位置,SQL语句如下:

    mysql> SELECT DAYOFYEAR('2018-02-20');
    +-------------------------+
    | DAYOFYEAR('2018-02-20') |
    +-------------------------+
    |                 51      |
    +-------------------------+

1月有31天,再加上2月的20天,因此返回结果为51。

DAYOFMONTH(d)函数返回日期d是一个月中的第几天,范围是1~31。

例4.68 】使用DAYOFMONTH()函数返回指定日期在一个月中的位置,SQL语句如下:

    mysql> SELECT DAYOFMONTH('2018-08-20');
    +--------------------------+
    | DAYOFMONTH('2018-08-20') |
    +--------------------------+
    |                  20      |
    +--------------------------+

4.4.9 获取年份、季度、小时、分钟和秒钟的函数

YEAR(date)函数返回date对应的年份,范围是1970~2069。

例4.69 】使用YEAR()函数返回指定日期对应的年份,SQL语句如下:

    mysql>SELECT YEAR('18-02-03'),YEAR('96-02-03');
    +------------------+------------------+
    | YEAR('18-02-03') | YEAR('96-02-03') |
    +------------------+------------------+
    |          2018    |          1996    |
    +------------------+------------------+

提示 00~69转换为2000~2069,70~99转换为1970~1999。

QUARTER(date)函数返回date对应的一年中的季度值,范围是1~4。

例4.70 】使用QUARTER()函数返回指定日期对应的季度,SQL语句如下:

    mysql> SELECT QUARTER('18-04-01');
    +---------------------+
    | QUARTER('18-04-01') |
    +---------------------+
    |               2     |
    +---------------------+

MINUTE(time)函数返回time对应的分钟数,范围是0~59。

例4.71 】使用MINUTE()函数返回指定时间的分钟值,SQL语句如下:

    mysql> SELECT MINUTE('18-02-03 10:10:03');
    +-------------------------------------+
    | MINUTE('18-02-03 10:10:03')         |
    +-------------------------------------+
    |                 10                  |
    +-------------------------------------+

SECOND(time)函数返回time对应的秒数,范围是0~59。

例4.72 】使用SECOND()函数返回指定时间的秒值,SQL语句如下:

    mysql> SELECT SECOND('10:05:03');
    +--------------------------+
    | SECOND('10:05:03')       |
    +--------------------------+
    |            3             |
    +--------------------------+

4.4.10 获取日期的指定值的函数EXTRACT(type FROM date)

EXTRACT(type FROM date)函数所使用的时间间隔类型说明符与DATE_ADD()和DATE_SUB()的相同,但它作用是从日期中提取一部分,而不是执行日期运算。

例4.73 】使用EXTRACT()函数提取日期或者时间值,SQL语句如下:

    mysql> SELECT EXTRACT(YEAR FROM '2018-07-02') AS col1, EXTRACT(YEAR_MONTH FROM
'2018-07-12 01:02:03') AS col2, EXTRACT(DAY_MINUTE FROM '2018-07-12 01:02:03') AS col3;
    +-------+--------+--------+
    | col1  | col2   | col3   |
    +------+---------+--------+
    | 2018 | 201807  | 120102 |
    +------+---------+--------+

type值为YEAR时,只返回年值,结果为2018;type值为YEAR_MONTH时,返回年与月份,结果为201807;type值为DAY_MINUTE时,返回日、小时和分钟值,结果为120102。

4.4.11 时间和秒数转换的函数

TIME_TO_SEC(time)函数用于将时间值转换为秒数值。转换公式为:小时×3600+分钟×60+秒。

例4.74 】使用TIME_TO_SEC()函数将时间值转换为秒数值,SQL语句如下:

    mysql> SELECT TIME_TO_SEC('23:23:00');
    +---------------------------------+
    | TIME_TO_SEC('23:23:00')         |
    +---------------------------------+
    |             84180                |
    +---------------------------------+

SEC_TO_TIME(seconds)函数用于将秒数值转换为时间值,时间值的格式为“HH:MM:SS”或HHMMSS,具体格式根据该函数是用在字符串语境还是数字语境中而定。

例4.75 】使用SEC_TO_TIME()函数将秒数值转换为时间格式,SQL语句如下:

     mysql> SELECT SEC_TO_TIME(2345),SEC_TO_TIME(2345)+0, TIME_TO_SEC('23:23:00'),
SEC_TO_TIME(84180);
     +-----------------+-------------------+-----------------------+------------------+
     |SEC_TO_TIME(2345)|SEC_TO_TIME(2345)+0|TIME_TO_SEC('23:23:00')|SEC_TO_TIME(84180)|
     +-----------------+-------------------+----------------------+-------------------+
     |00:39:05         |          3905     |                84180  | 23:23:00         |
     +-----------------+-------------------+-----------------------+------------------+

可以看到,SEC_TO_TIME()函数的返回值加上0值之后变成了数值格式;TIME_TO_SEC和SEC_TO_TIME互为反函数。

4.4.12 计算日期和时间的函数

计算日期和时间的函数有DATE_ADD()、ADDDATE()、DATE_SUB()、SUBDATE()、ADDTIME()、SUBTIME()和DATE_DIFF()。

在DATE_ADD(date,INTERVAL expr type)和DATE_SUB(date,INTERVAL expr type)中,date是一个DATETIME或DATE值,用来指定起始时间;expr是一个表达式,用来指定从起始日期添加或减去的时间间隔值,对于负值的时间间隔,expr可以以一个负号(-)开头;type为关键词,表明了表达式被解释的方式。表4.2说明了type和expr参数的关系。

表4.2 MySQL中计算日期和时间的格式

若date参数是一个DATE值,则计算只会包括YEAR、MONTH和DAY部分(没有时间部分),其结果是一个DATE值;否则,结果将是一个DATETIME值。

DATE_ADD(date,INTERVAL expr type)和ADDDATE(date,INTERVAL expr type)函数的作用相同,执行日期的加运算。

例4.76 】使用DATE_ADD()和ADDDATE()函数执行日期加操作,SQL语句如下:

     mysql> SELECT DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND) AS col1,
ADDDATE('2010-12-31 23:59:59', INTERVAL 1 SECOND) AS col2, DATE_ADD('2010-12-31
23:59:59', INTERVAL '1:1' MINUTE_SECOND) AS col3;
     +---------------------+---------------------+---------------------+
     | col1                | col2               | col3                |
     +---------------------+---------------------+---------------------+
     | 2011-01-01 00:00:00 | 2011-01-01 00:00:00 | 2011-01-01 00:01:00 |
     +---------------------+---------------------+---------------------+

由结果可以看到,DATE_ADD('2010-12-31 23:59:59', INTERVAL 1 SECOND)和ADDDATE('2010-12-31 23:59:59', INTERVAL 1 SECOND)两个函数的执行结果是相同的,将时间增加1秒后返回,结果都为“2011-01-01 00:00:00”;DATE_ADD('2010-12-31 23:59:59',INTERVAL '1:1' MINUTE_SECOND)日期运算类型是MINUTE_SECOND,将指定时间增加1分1秒后返回,结果为“2011-01-01 00:01:00”。

DATE_SUB(date,INTERVAL expr type)和SUBDATE(date,INTERVAL expr type)函数的作用相同,均用于执行日期的减运算。

例4.77 】使用DATE_SUB()和SUBDATE()函数执行日期减操作,SQL语句如下:

    mysql> SELECT DATE_SUB('2011-01-02', INTERVAL 31 DAY) AS col1,
SUBDATE('2011-01-02', INTERVAL 31 DAY) AS col2, DATE_SUB('2011-01-01 00:01:00',
INTERVAL '0 0:1:1' DAY_SECOND) AS col3;
    +--------------+--------------+-------------------------+
    | col1         | col2         | col3                    |
    +--------------+--------------+-------------------------+
    | 2010-12-02   | 2010-12-02   | 2010-12-31 23:59:59     |
    +--------------+--------------+-------------------------+

由结果可以看到,DATE_SUB('2011-01-02', INTERVAL 31 DAY)和SUBDATE('2011-01-02',INTERVAL 31 DAY)两个函数的执行结果是相同的,将日期值减少31天后返回,结果都为

“2010-12-02”;DATE_SUB('2011-01-01 00:01:00',INTERVAL '0 0:1:1' DAY_SECOND)函数将指定日期减少1天,时间减少1分1秒后返回,结果为“2010-12-31 23:59:59”。

提示 DATE_ADD()和DATE_SUB()在指定修改的时间段时,也可以指定负值,负值代表相减,即返回以前的日期和时间。

ADDTIME(date,expr)函数将expr值添加到date,并返回修改后的值。其中,date是一个日期或者日期时间表达式,而expr是一个时间表达式。

例4.78 】使用ADDTIME()进行时间加操作,SQL语句如下:

    mysql>SELECT ADDTIME('2000-12-31 23:59:59','1:1:1'), ADDTIME('02:02:02',
'02:00:00');
    +----------------------------------------+--------------------------------+
    | ADDTIME('2000-12-31 23:59:59','1:1:1') | ADDTIME('02:02:02','02:00:00') |
    +----------------------------------------+--------------------------------+
    | 2001-01-01 01:01:00                    | 04:02:02                       |
    +----------------------------------------+--------------------------------+

可以看到,将“2000-12-31 23:59:59”的时间部分值增加1小时1分钟1秒后变为“2001-01-01 01:01:00”;“02:02:02”增加2小时后变为“04:02:02”。

SUBTIME(date,expr)函数将date减去expr值,并返回修改后的值。其中,date是一个日期或者日期时间表达式,而expr是一个时间表达式。

例4.79 】使用SUBTIME()函数执行时间减操作,SQL语句如下:

    mysql> SELECT SUBTIME('2000-12-31 23:59:59','1:1:1'),
SUBTIME('02:02:02','02:00:00');
    +----------------------------------------+--------------------------------+
    | SUBTIME('2000-12-31 23:59:59','1:1:1') | SUBTIME('02:02:02','02:00:00') |
    +----------------------------------------+--------------------------------+
    | 2000-12-31 22:58:58                    | 00:02:02                       |
    +----------------------------------------+--------------------------------+

可以看到,将“2000-12-31 23:59:59”的时间部分值减少1小时1分钟1秒后变为“2000-12-31 22:58:58”;“02:02:02”减少2小时后变为“00:02:02”。

DATEDIFF(date1,date2)返回起始时间date1和结束时间date2之间的天数。date1和date2为日期或日期时间表达式,计算中只用到这些值的日期部分。

例4.80 】使用DATEDIFF()函数计算两个日期的间隔天数,SQL语句如下:

    mysql> SELECT DATEDIFF('2010-12-31 23:59:59','2010-12-30') AS col1,
DATEDIFF('2010-11-30 23:59:59','2010-12-31') AS col2;
    +-------+------+
    | col1  | col2 |
    +-------+------+
    |   1   | -31  |
    +-------+------+

DATEDIFF()函数返回date1−date2后的值,因此DATEDIFF('2010-12-31 23:59:59','2010-12-30')的返回值为1,DATEDIFF('2010-11-30 23:59:59','2010-12-31')的返回值为−31。

4.4.13 将日期和时间格式化的函数

DATE_FORMAT(date,format)函数根据format指定的格式显示date值。format格式如表4.3所示。

表4.3 DATE_FORMAT时间日期格式

例4.81 】使用DATE_FORMAT()函数格式化输出日期和时间值,SQL语句如下:

    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') AS col1,
DATE_FORMAT('1997-10-04 22:23:00','%D %y %a %d %m %b %j') AS col2;
    +-----------------------+--------------------------+
    | col1                  | col2                     |
    +-----------------------+--------------------------+
    | Saturday October 1997 | 4th 97 Sat 04 10 Oct 277 |
    +-----------------------+--------------------------+
        
    mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s') AS col3,
DATE_FORMAT('1999-01-01', '%X %V') AS col4;
    +----------+---------+
    | col3     | col4    |
    +----------+---------+
    | 22:23:00 | 1998 52 |
    +----------+---------+

可以看到“1997-10-04 22:23:00”分别按照不同参数转换成了不同格式的日期值和时间值。

TIME_FORMAT(time,format)函数根据表达式format的要求显示时间time。表达式format指定了显示的格式。因为TIME_FORMAT(time,format)只处理时间,所以format只使用时间格式。

例4.82 】使用TIME_FORMAT()函数格式化输入时间值,SQL语句如下:

    mysql>SELECT TIME_FORMAT('16:00:00', '%H %k %h %I %l');
    +-----------------------------------------------------------+
    | TIME_FORMAT('16:00:00', '%H %k %h %I %l')                |
    +-----------------------------------------------------------+
    | 16 16 04 04 4                                             |
    +-----------------------------------------------------------+

可以看到,“16:00:00”按照不同的参数转换为不同格式的时间值。

GET_FORMAT(val_type, format_type)返回日期和时间字符串的显示格式,val_type表示日期数据类型,包括DATE、DATETIME和TIME;format_type表示格式化显示类型,包括EUR、INTERVAL、ISO、JIS、USA。GET_FORMAT根据两个值类型组合返回的字符串显示格式如表4.4所示。

表4.4 GET_FORMAT返回的显示格式字符串

例4.83 】使用GET_FORMAT()函数显示不同格式化类型下的格式字符串,SQL语句如下:

    mysql> SELECT GET_FORMAT(DATE,'EUR'), GET_FORMAT(DATE,'USA');
    +------------------------+------------------------+
    | GET_FORMAT(DATE,'EUR') | GET_FORMAT(DATE,'USA') |
    +------------------------+------------------------+
    | %d.%m.%Y               | %m.%d.%Y               |
    +------------------------+------------------------+

可以看到,不同类型的格式化字符串并不相同。

例4.84 】在DATE_FORMAT()函数中,使用GET_FORMAT()函数返回的显示格式字符串来显示指定的日期值,SQL语句如下:

    mysql> SELECT DATE_FORMAT('2000-10-05 22:23:00', GET_FORMAT(DATE,'USA') );
    +-------------------------------------------------------------+
    | DATE_FORMAT('2000-10-05 22:23:00', GET_FORMAT(DATE,'USA') ) |
    +-------------------------------------------------------------+
    | 10.05.2000                                                  |
    +-------------------------------------------------------------+

GET_FORMAT(DATE,'USA')返回的显示格式字符串为%m.%d.%Y,对照表4.3中的显示格式(%m以数字形式显示月份,%d以数字形式显示日期,%Y以4位数字形式显示年),因此结果为10.05.2000。 C4pmqmrc3dVJXS0ahvjIQ/+5TvzZ89YGgrw+IgJ5Hs3MTcy4GLz83mj9m/ZLnq/b

点击中间区域
呼出菜单
上一章
目录
下一章
×