mysql从头开始(9)

孤街浪徒 提交于 2019-12-26 11:21:00

使用数据处理函数

函数

函数没有sql的可移植性强。

使用函数

大多数sql实现支持以下类型的函数:

  • 用于处理文本串的文本函数。
  • 用于在数值数据上进行算数操作的数值函数。
  • 用于处理日期和时间值并从这些值中提取特定成分的日期和时间函数。
  • 返回DBMS正使用的特殊信息的系统函数。

文本处理函数

mysql> select vend_name,Upper(vend_name) AS vend_name_upcase from vendors order by vend_name;
+----------------+------------------+
| vend_name      | vend_name_upcase |
+----------------+------------------+
| ACME           | ACME             |
| Anvils R Us    | ANVILS R US      |
| Furball Inc.   | FURBALL INC.     |
| Jet Set        | JET SET          |
| Jouets Et Ours | JOUETS ET OURS   |
| LT Supplies    | LT SUPPLIES      |
+----------------+------------------+
6 rows in set (0.01 sec)

正如所见,Upper() 将文本转换为大写。

函数 说明
Left() 返回左边的字符串
Length() 返回串的长度
Locate() 找出串的一个子串
Lower() 将串转换为小写
LTrim() 去掉串左边的空格
Right() 返回串右边的字符
RTrim() 去掉串右边的字符
Soundex() 返回串的SOUNDEX的值
SubString() 返回子串的字符
Upper() 将串转换为大写

注意:Soundex()函数匹配发音相似的值。

日期和时间处理函数

常用日期和时间处理函数
函数 说明
AddDate() 增加一个日期(天,周等)
AddTime() 增加一个时间(时,分等)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 返回两个日期的差
Date_Add() 高度灵活的日期运算函数
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对应一个日期返回星期几
Hour() 返回一个时间的小时部分
Minute() 返回一个时间的分钟部分
Month() 返回一个时间的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
ysql> select cust_id,order_num from orders where Date(order_date) ='2005-09-01';
+---------+-----------+
| cust_id | order_num |
+---------+-----------+
|   10001 |     20005 |
+---------+-----------+
1 row in set (0.16 sec)

注意:如果要的是日期,使用Date(),如果仅仅想要使用日期,使用Date()是一个好习惯。

检索出2005年9月所有的订单。

mysql> select cust_id,order_num from orders where Date(order_date) BETWEEN '2005-09-01' AND '2005-09-30';
+---------+-----------+
| cust_id | order_num |
+---------+-----------+
|   10001 |     20005 |
|   10003 |     20006 |
|   10004 |     20007 |
+---------+-----------+
3 rows in set (0.01 sec)
mysql> select cust_id,order_num FROM orders where Year(order_Date) = 2005 AND Month(order_date)=9;
+---------+-----------+
| cust_id | order_num |
+---------+-----------+
|   10001 |     20005 |
|   10003 |     20006 |
|   10004 |     20007 |
+---------+-----------+
3 rows in set (0.01 sec)

数值处理函数

数值处理函数仅仅处理数值数据。这些函数一般主要用于代数、三角或者几何运算。

常用数值处理函数
函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!