在MySQL中,函数不仅可以出现在select语句及其子句中,而且还可以出现在update、delete语句中。
常用的函数有:
1. 字符串函数;主要用于处理字符串。
2. 数值函数;主要用于处理数字。
3. 日期和时间函数;主要用于处理日期和事件。
4. 系统信息函数;获取系统信息。
1. 使用字符串函数:
虽然每种数据库都支持SQL,但是每种数据库拥有各自所支持的函数。
1.1 合并字符串函数concat() 和 concat_ws():
在MySQL中可以通过函数concat()和concat_ws()将传入的参数连接成为一个字符串。
语法定义为:
concat(s1, s2,...sn)//该函数会将传入的参数连接起来返回合并的字符串类型的数据。如果其中一个参数为null,则返回值为null. |
示例:
mysql> select concat('my','s','ql');+-----------------------+| concat('my','s','ql') |+-----------------------+| mysql |+-----------------------+1 row in set (0.00 sec)mysql> select concat('my','s','ql',null);+----------------------------+| concat('my','s','ql',null) |+----------------------------+| NULL |+----------------------------+1 row in set (0.00 sec)mysql> select concat(curdate(), 12.2);+-------------------------+| concat(curdate(), 12.2) |+-------------------------+| 2016-08-2512.2 |+-------------------------+1 row in set (0.00 sec)//说明:将当前时间和数值12.2合并。即concat()函数不仅可以接受字符串参数,而且还可以接受其他类型参数。 |
concat_ws()的定义:
concat_ws(sep,s1,s2,...sn)//该函数与concat()相比,多了一个表示分隔符的seq参数,不仅将传入的其他参数连接起来,而且还会通过分隔符将各个字符串分割开来。//分隔符可以是一个字符串,也可以是其他参数。如果分割符为null,则返回结果为null。函数会忽略任何分割符后的参数null. |
示例:
mysql> select concat_ws('-','020','87658907');+---------------------------------+| concat_ws('-','020','87658907') |+---------------------------------+| 020-87658907 |+---------------------------------+1 row in set (0.00 sec)mysql> select concat_ws(null,'020','87658907');+----------------------------------+| concat_ws(null,'020','87658907') |+----------------------------------+| NULL |+----------------------------------+1 row in set (0.00 sec)//当分隔符为null时,则返回结果为nullmysql> select concat_ws('-','020',null,'87658907');+--------------------------------------+| concat_ws('-','020',null,'87658907') |+--------------------------------------+| 020-87658907 |+--------------------------------------+1 row in set (0.00 sec)//不是第一个参数的null将被忽略 |
1.2 比较字符串大小函数strcmp():
strcmp()定义为:
新闻热点
疑难解答