MySQL支持的函数
- 使用函数
- 文本处理函数
- UPPER()函数
- 常见的文本处理函数
- SOUNDEX()函数
- 日期和时间函数
- 数值处理函数
使用函数
- 用户处理文本字符串(删除或者填充。转换值为大写或小写) 的文本函数
- 用于在数值数据上进行算术操作(返回绝对值,进行代数运算)的数值函数
- 用于处理日期和时间值并从这些值中提取特定成分(返回两个日期之差,检查日期有效性)的日期和时间函数
- 返回DBMS正使用的特殊信息(返回用户登录信息)的系统函数
文本处理函数
UPPER()函数
将文本转换成大写
mysql> SELECT vend_name, upper(vend_name) AS vend_name_upcase
-> FROM VENDORS ORDER BY VEND_NAME;
+-----------------+------------------+
| vend_name | vend_name_upcase |
+-----------------+------------------+
| Bear Emporium | BEAR EMPORIUM |
| Bears R Us | BEARS R US |
| Doll House Inc. | DOLL HOUSE INC. |
| Fun and Games | FUN AND GAMES |
| Furball Inc. | FURBALL INC. |
| Jouets et ours | JOUETS ET OURS |
+-----------------+------------------+
常见的文本处理函数
函数 | 说明 |
LEFT() | 返回字符串左边的字符 |
LENGTH() | 返回字符串的长度 |
LOWER() | 将字符串转换为小写 |
LTRIM() | 去掉字符串左边的空格 |
RIGHT() | 返回字符串左边的字符 |
RTRIM() | 去掉字符串右边的空格 |
SOUNDEX() | 返回字符串的SOUNDXE值 |
UPPER() | 返回字符串的大写 |
SOUNDEX()函数
将任何文本串转换为描述其语音表示的字母数字模式的算法
其考虑了类似的发音字符和音节,使得能对字符串进行发音比较而不是字母比较
Customers表中有一个顾客Kids Place,其联系名为MichelleGreen。如果这是个错误的输入,实际正确的联系名为MIchael Green,该如何返回数据
使用SOUNDEX函数进行搜索,它可以匹配所有发音类似于Micheal Green的联系名
mysql> SELECT CUST_NAME, CUST_CONTACT
-> FROM CUSTOMERS
-> WHERE SOUNDEX(CUST_CONTACT) = SOUNDEX('Micheal Green');
+------------+----------------+
| CUST_NAME | CUST_CONTACT |
+------------+----------------+
| Kids Place | Michelle Green |
+------------+----------------+
日期和时间函数
MySQL和MariaDB可以使用名为YEAR()的函数从日期中提取年份
提取和使用日期的成分(年)
mysql> SELECT * FROM ORDERS;
+-----------+---------------------+------------+
| order_num | order_date | cust_id |
+-----------+---------------------+------------+
| 20005 | 2012-05-01 00:00:00 | 1000000001 |
| 20006 | 2012-01-12 00:00:00 | 1000000003 |
| 20007 | 2012-01-30 00:00:00 | 1000000004 |
| 20008 | 2012-02-03 00:00:00 | 1000000005 |
| 20009 | 2012-02-08 00:00:00 | 1000000001 |
+-----------+---------------------+------------+
mysql> SELECT ORDER_NUM FROM ORDERS
-> WHERE YEAR(ORDER_DATE) = 2012;
+-----------+
| ORDER_NUM |
+-----------+
| 20005 |
| 20006 |
| 20007 |
| 20008 |
| 20009 |
+-----------+
提取和使用日期的成分(月)
mysql> SELECT ORDER_NUM FROM ORDERS
-> WHERE YEAR(ORDER_DATE) = 2012 AND MONTH(ORDER_DATE) = 2;
+-----------+
| ORDER_NUM |
+-----------+
| 20008 |
| 20009 |
+-----------+
数值处理函数
数值处理函数仅处理数值数据,
这些函数一般主要用于代数、三角或者几何运算
函数 | 说明 |
ABS() | 返回一个数的绝对值 |
COS() | 返回一个角度的余弦 |
EXP() | 返回一个数的指数值 |
PI() | 返回圆周率 |
SIN() | 返回一个角度的正弦 |
SQRT() | 返回一个数的平方根 |
TAN() | 返回一个角度的正切 |
mysql> SELECT NUM FROM TEST;
+-----+
| NUM |
+-----+
| -1 |
| -2 |
+-----+
返回绝对值
mysql> SELECT NUM, ABS(NUM) FROM TEST;
+-----+----------+
| NUM | ABS(NUM) |
+-----+----------+
| -1 | 1 |
| -2 | 2 |
+-----+----------+