第11章 使用数据处理函数
1、函数
函数通常没有sql可移植性强,故使用函数时,注意做好代码注释,方便以后或他人理解语句。
2、使用函数
常用函数分类:
文本函数:处理文本串(增删文本,转换大小写,字串比较)
数值函数:处理数值(返回绝对值,代数运算)
日期时间函数:处理日期、时间,或提前特定成分(返回两个日期的差,检查日期有效性)
系统信息函数:返回数据库的特殊信息(返回用户登陆信息,检查版本信息)
2.1文本处理函数
2.1.1大小写转换:
Upper() #转换为大写
Lower() #转换为小写
将供应商名称转换为大写:select vend_name,upper(vend_name) as vend_name_upcase from vendors order by vend_name;
2.1.2截取字符串
a、从左开始截取字符串
left(str, length)
说明:left(被截取字段,截取长度)
b、从右开始截取字符串
right(str, length)
说明:right(被截取字段,截取长度)
c、截取字符串
substring(str, pos)
substring(str, pos, length)
说明:substring(被截取字段,从第几位开始截取)
substring(被截取字段,从第几位开始截取,截取长度)
2.1.3截取空格
Ltrim(m) #去掉串m左侧空格
Rtrim(m) #去掉串m右侧空格
2.1.4返回长度、位置信息
length(m) #返回串m的长度
locate(n,m) #查找子串n在字串m中首次出现的位置,从第1位字符开始,没有的话返回0
locate(n,m,p) #查找子串n在字串m中首次出现的位置,从第p位字符开始,没有的话返回0
2.2日期和时间处理函数
一般应用程序中显示的日期和时间格式,和数据库中特殊的存储格式不同,所以用日期时间函数来处理、读取很重要。
应用程序中通常格式为,
日期:yyyy-mm-dd
时间:hh:mm:ss
数据库通常存储格式为日期和时间在一个字段中:
yyyy-mm-dd hh:mm:ss
常用日期和时间函数:
例:找出订货日期为2005年9月1日的订单号和客户id:select cust_id,order_num from orders where date(order_date)='2005-09-01';
找出2005年9月的所有订单号和客户id:select cust_id,order_num from orders where year(order_date)=2005 and month(order_date)=9;
2.3数值处理函数
数值处理函数,是进行代数、三角、几何运算的函数。在各种品牌数据库中比较一致。
《mysql必知必会》是一本好书,是一本sql语言入门书,豆瓣评分很高。
作者是英国的Ben Forta,世界知名的技术作家,由人民邮电出版社发行,我觉得原作名: MySQL Crash Course,直译为:《MYSQL速成》更具畅销书潜质,只是比较俗吧,呵呵。
书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。
前三章是基础概念,讲了SQL和数据库的基本概念,Mysql数据库的概念和使用方法,第四章开始SQL实操练习,这里是本书的一些实操练习笔记,有兴趣的话可以按这个练习几遍,相信对新手会很有帮助,让你不经意间功力大增。