数据处理函数

和其他计算机语言一样,SQL也支持利用函数来处理数据,但是函数没有SQL可移植性强,每种DBMS的函数可能存在差异,所有当我们使用函数时,最好进行注释一下

 

一、文本处理函数

    我们先来看看常用的文本处理函数都有哪些

函数 说明
left() 返回串左边的字符
lenght() 返回串的长度
locate() 找出串的一个字串
lower() 将串转换为小写
LTrim() 去掉串左边的空格
RTrim() 去掉串右边的空格
Right() 返回串右边的字符
Soundex() 返回串的Soundex值
SubString() 返回子串的字符
Upper() 将串转换为大写
CONCAT() 拼接函数
Trim() 去掉所有的空格
   

 

数据处理函数_第1张图片

1、计算字段

      通常我们是直接从数据库检索出数据,但是有时候我们需要检索出格式化、计算或转换的数据,而不是直接检索出数据,这时候就需要用到计算字段了,计算字段并不实际存在于数据库中,而是在运行SELECT语句时创建的。

字段与列基本意思相同,但术语字段通常用在计算字段中,但只有数据库知道SELECT语句哪些是实际列,那些事计算字段

 

2、拼接字段函数

      现在需要得到一个格式化的数据比如:vend_name(vend_country),我们就需要用到拼接函数CONCAT

SELECT CONCAT(vend_name,'(',vend_country,')') FROM vendors ORDER BY vend_name

   数据处理函数_第2张图片

   从前面的输出可以看出,拼接字段函数工作得很好,但是新计算字段的名字是什么?实际上它没有名字,它只是一个计算值,但是这个未命名的字段并不能用于客户机,因为客户机没办法引用它,我们需要使用别名,用到了关键字AS 

SELECT CONCAT(vend_name,'(',vend_country,')') AS vend_title  FROM vendors ORDER BY vend_name

数据处理函数_第3张图片

 

3、转换大写函数

SELECT vend_name,UPPER(vend_name) AS vend_name_upcase  FROM vendors ORDER BY vend_name

数据处理函数_第4张图片

 

二、日期处理函数

函数 说明
AddDate() 增加一个日期(天、周等)
AddTime() 增加一个时间(时、分)
CurDate() 返回当前日期
CurTime() 返回当前时间
Date() 返回日期时间的日期部分
DateDiff() 计算两个日期之差
Date_Format() 返回一个格式化的日期或时间串
Day() 返回一个日期的天数部分
DayOfWeek() 对于一个日期,返回对应的星期几
Hour() 返回一个日期的小时部分
Minute() 返回一个日期的分钟部分
Mouth() 返回一个日期的月份部分
Now() 返回当前日期和时间
Second() 返回一个时间的秒部分
Time() 返回一个日期时间的时间部分
Year() 返回一个日期的年份部分
   

当我们使用日期查询时,日期格式必须为yyyy-mm-dd  因此2005年9月1日,查询格式应为2005-9-1

下面我们来简单使用以下日期查询

数据处理函数_第5张图片

1、假如我们要查询2005年9月1日的订单,由于存储格式都具有时间值,则我们不能使用WHERE order_date = '2005-9-1'查询

    解决的办法是使用Date()函数,提取列的日期部分

SELECT cust_id,order_num FROM orders WHERE DATE(order_date) ='2005-09-01'

 

 2、当我们要查询一个月的数据则可以使用BETWEEN AND

SELECT * FROM orders WHERE DATE(order_date) BETWEEN '2005-9-1' AND '2005-9-30'

 

3、如果我们记不住每个月有多少天,则可以用下面的SQL语句

SELECT * FROM orders WHERE YEAR(order_date) =2005 AND MONTH(order_date) = 9

 

三、数值处理函数

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

函数 说明
Abs() 返回一个数的绝对值
Cos() 返回一个角度的余弦
Exp() 返回一个数的指数值
Mod() 返回除操作的余数
Pi() 返回圆周率
Rand() 返回一个随机数
Sin() 返回一个角度的正弦
Sqrt() 返回一个数的平方根
Tan() 返回一个角度的正切

 

 总结:本章只是初步介绍了MYSQL函数的应用,具体函数的应用和变化,必须根据MySQL具体版本查阅文档

 

你可能感兴趣的:(#,MySQL)