8.2.1 文本处理函数,  ④ 、重返DBMS正采纳的例外消息的种类函数

第⑨课 使用函数处理数量

图片 1

8.1 函数

  【名词】可移植:所编写的代码可以在三个系统上运维

 

8.2 使用函数

8.2.1 文本处理函数

  例1:使用 UPPE汉兰达() 函数–将文件转换为题写

SELECT vend_name, UPPER(vend_name) AS vend_name_upcase
FROM Vendors
ORDER BY vend_name;

图片 2

 

  常用的文本处理函数:

  • LEFT():返回字符串左侧的字符
  • DATALENGTH():重返字符串的尺寸
  • LOWEPRADO():将字符串转换为题写
  • LTCRUISERIM():去掉字符串右边的空格
  • CRUISERT宝马7系IM():去掉字符串左侧的空格
  • UPPEPRADO():将字符串转换为题写

 

8.2.2 日期和时间处理函数

  例2:检索 Orders 表中 二〇一一 年的具有订单

SELECT order_num
FROM Orders
WHERE DATEPART(yy, order_date) = '2012';
--    分析:DATEPART()只从 order_date 列中返回年份。通过与 2012 比较,WHERE 子句只过滤出此年份的订单

图片 3

 

8.2.3 数值处理函数

  数值处理函数仅处理数值数据。那一个函数一般主要用以代数、三角或几何运算。

 

8.3 小结

  介绍函数的接纳

 

续集:

  SQLServer:《SQL必知必会》一书的读书笔记(七)

一、始建计算字段
1、拼接
SELECT CONCAT(vend_name,’ (‘,vend_country,’)’)
FROM vendors
ORDER BY vend_name;
上述的SELECT语句连接以下陆个因素:
☆存储在vend_name列中的名字
☆包蕴贰个空格和多个左圆括号的串
☆存储在vend_country列中的国家
☆包蕴一个右圆括号的串
二 、使用MySQL的昂科雷T卡宴IM()去掉串左侧的空格,LT卡宴IM()去掉串左侧的空格,TPAJEROIM()去掉串左右两边的空格
SELECT CONCAT(RTRIM(vend_name),’ (‘,RTRIM(vend_country),’)’)
FROM vendors
ORDER BY vend_name;
三 、使用别名
SELECT CONCAT(RTRIM(vend_name),’ (‘,RTRIM(vend_country),’)’) AS
vend_title
FROM vendors
ORDER BY vend_name;
二、采纳数据处理函数
多数SQL完结援救以下项目标函数:
□用于拍卖文本串(如剔除或填充值,转换值为大写或小写)的文本函数
□用于在数值数据上举办算术操作(如重返相对值,进行代数运算)的数值函数
□用于拍卖日期和岁月值并从这一个值中领取一定元素(例如,重临三个日子之差,检查日期有效性等)的日期和时间函数
□重返DBMS正利用的与众不一样新闻(如再次来到用户登录消息,检查版本细节)的系统函数
1.文本处理函数

一、函数

图片 4

  SQL接济使用函数来处理数量,函数一般都位居数据上执行,给多少转换和处理带来方便。

常用的文本处理函数

  ① 、Mysql扶助用于拍卖文本串(如删减或填充值转换值为大小写)的文本函数。

SOUNDEX是二个将别的文本串转换为描述其语音表示的字母数字情势的算法。
例如customers表中有一个买主Coyote
Inc.,其联系名为Y.Lee,但假使那是输入错误,此联系名实际应该是Y.Lie。
SELECT cust_name,cust_contact
FROM customers
WHERE SOUNDEX(cust_contact)=SOUNDEX(‘Y.Lie’);
2.日期和时间处理函数

  贰 、帮忙用于在数字上开展算术操作(如重回相对值,举办演算)

图片 5

  叁 、帮助用于拍卖日期和岁月值并从那么些值中领到一定成分的日期和岁月函数。

常用日期和岁月处理函数

  四 、重回DBMS正利用的极度规音信的连串函数。

SELECT cust_id,order_num
FROM orders
WHERE Date(order_date)BETWEEN’2005-09-01’AND’2005-09-30′;
=SELECT cust_id,order_num
FROM orders
WHERE Year(order_date)=2005 AND Month(order_date)=9;
3.数值处理函数

 

图片 6

二 、文本处理函数

常用数值处理函数

  常用的文本处理函数,如下

三、汇总数据
1.会见函数
聚集函数运转在行组上,计算和重回单个值的函数。

  left()    重返串左侧的字符

图片 7

  length()    重返串的尺寸

①AVG()函数—可用来回到全体列的平均值,也得以用来回到特定列或行的平均值。
例:使用AVG()重返products表中具有成品的平均价格:
SELECT AVG(prod_price)AS avg_price
FROM products
WHERE vend_id =1003;
②COUNT()函数

  locate()     找到串的三个子串

图片 8

  lower()      将串转换为题写

③MAX()/MIN()函数
④SUM()函数
SUM()可以用来回到钦命列值的和,也足以用来合计计算值。

  ltrim()     去掉串右边的空格

图片 9

  right()     重临串左边的字符

☆除了

  rtrim()     去掉串左侧的空格

图片 10

  soundex()  重回穿的SOUNDEX值

不会忽视NULL值外那多少个常用聚集函数都忽视列值为NULL的行。
2.聚拢分歧值
用DISTINCT关键字聚集不一致值:

  substring()  再次回到子串的字符

图片 11

  upper    将串转换为题写

3.重组聚集函数
输入:

  

图片 12

  其中soundex()函数是二个将其余文本串转换为描述其语音表示的假名数字形式的算法。它考虑了接近发音字符和音节,使得能对串举行声张相比而不是字母相比较

输出:

  select cust_name,cust_contact from customers where
cust_contact=’Y.Lie’;//无返回

图片 13

  select cust_name,cust_contact from customers where
soundex(cust_contact)=soundex(‘Y.Lie’);//返回Y.lee

四、分组数据
1.成立分组
动用GROUP BY子句分组

 

图片 14

② 、日期和岁月处理函数

其余,使用WITH
ROLLUP关键字,可以赢得每一种分组以及各种分组集中级别(针对每种分组)的值。例如:

  Mysql规定日期必须以yyyy-mm-dd格式出现。由此如下:

图片 15

  select cust_id,order_num from orders where order_date =
‘2005-09-01’;

输出:

  但是上述语句并不安全,大家必要接纳mysql将提交的日期与列中的日期部分开展相比,而不是将交给的日期和总体列值进行相比。如下:

图片 16

  select cust_id,order_num from orders where
Date(order_date)=’二零零五-09-01′;//仅要求日期

2.过滤分组—HAVING子句
例如:

  不过假使您需要寻找出二零零六年七月下的享有订单,我们一般如下:

图片 17

  select cust_id,order_num from orders where Year(order_date) =2005
and Month(order_date)=9;

☆WHERE过滤行,Having过滤分组。

  有关日期时间的函数如下:

图片 18

  图片 19

地方的例证,WHERE子句过滤全部prod_price至少为10的行,然后按vend_id分组数据,HAVING子句过滤计数为2或2以上的分组。
3.分组和排序—group by+order by
输入:

  

图片 20

四 、数字处理函数:它仅能处理多少

输出:

  图片 21

图片 22

 

4.SELECT子句顺序(回顾)

图片 23

相关文章