DATE_FORMAT函数

语法如下:

date_format(date,format)

根据format指定的格式显示date值。

format可选格式如下:

格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位

【示例】格式化输出当前日期:

mysql> select date_format(now(),'%Y-%m-%d');
+-------------------------------+
| date_format(now(),'%Y-%m-%d') |
+-------------------------------+
| 2022-10-09                    |
+-------------------------------+
1 row in set (0.00 sec)

TIME_FORMAT函数

语法如下:

time_format(time,format)

功能与DATE_FORMAT类似,只是仅仅处理时间值。

【示例】格式化输出当前时间:

mysql> select time_format(curtime(),'%H:%i:%s');
+-----------------------------------+
| time_format(curtime(),'%H:%i:%s') |
+-----------------------------------+
| 14:03:12                          |
+-----------------------------------+
1 row in set (0.00 sec)

FORMAT函数

语法如下:

format(x,n)

将数字x格式化,并四舍五入保留小数后n位。

【示例】将数字123456.789格式化输出(保留2位小数):

mysql> select format(123456.789,2);
+----------------------+
| format(123456.789,2) |
+----------------------+
| 123,456.79           |
+----------------------+
1 row in set (0.00 sec)

CONV函数

语法如下:

conv(n,from_base,to_base)

将数值n由from_base进制转化为to_base进制。

【示例】将13由10进制转化为2进制:

mysql> select conv(13,10,2);
+---------------+
| conv(13,10,2) |
+---------------+
| 1101          |
+---------------+
1 row in set (0.00 sec)

【示例】将E由16进制转化为2进制:

mysql> select conv('E',16,2);
+----------------+
| conv('E',16,2) |
+----------------+
| 1110           |
+----------------+
1 row in set (0.00 sec)

INET_ATON函数

语法如下:

inet_aton(expr)

将点地址表示的IP地址,转换为整数表示的IP地址。

【示例】将IP地址’127.0.0.1’转换为整数表示:

mysql> select inet_aton('127.0.0.1');
+------------------------+
| inet_aton('127.0.0.1') |
+------------------------+
|             2130706433 |
+------------------------+
1 row in set (0.00 sec)

INET_NTOA函数

语法如下:

inet_ntoa(expr)

将整数表示的IP地址,转换为点地址表示的IP地址。

【示例】将IP地址2130706433转换为点地址表示:

mysql> select inet_ntoa(2130706433);
+-----------------------+
| inet_ntoa(2130706433) |
+-----------------------+
| 127.0.0.1             |
+-----------------------+
1 row in set (0.01 sec)

CONVERT函数

语法如下:

convert(str using charset1)

将字符串str转换为charset1字符集。

【示例】将’sql.wang’转换为uft8mb4:

mysql> select charset('sql.wang'),convert('sql.wang' using utf8mb4),charset(convert('sql.wang' using utf8mb4));
+---------------------+-----------------------------------+--------------------------------------------+
| charset('sql.wang') | convert('sql.wang' using utf8mb4) | charset(convert('sql.wang' using utf8mb4)) |
+---------------------+-----------------------------------+--------------------------------------------+
| gbk                 | sql.wang                          | utf8mb4                                    |
+---------------------+-----------------------------------+--------------------------------------------+
1 row in set (0.00 sec)

CAST函数

语法如下:

cast(x,type)

将x的值转换为type类型。可转换的type类型有:BINARY、CHAR(n)、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED。

【示例】将字符串’202201’转换为带符号的整型:

mysql> select convert('202201',signed);
+--------------------------+
| convert('202201',signed) |
+--------------------------+
|                   202201 |
+--------------------------+
1 row in set (0.00 sec)

【示例】将’2022-10-01’转换为date类型:

mysql> select convert('2022-10-01',date);
+----------------------------+
| convert('2022-10-01',date) |
+----------------------------+
| 2022-10-01                 |
+----------------------------+
1 row in set (0.01 sec)
picture loss