MySQL 知识量:16 - 40 - 165
SQL语言支持使用函数来处理数据,但是不同的DBMS支持的函数并不一定通用,很多都是某个DBMS专用函数,因此如果要使用函数,就需要专门学习某个DBMS的函数。MySQL也有许多的数据处理函数,可以高效的完成数据库数据的处理。
MySQL的文本处理函数除了trim()、ltrim()、rtrim()以外,还有许多。其常用的文本处理函数如下:
函数 | 说明 |
---|---|
left() | 返回字符串左边的字符 |
right() | 返回字符串右边的字符 |
length() | 返回字符串长度 |
locate() | 找出字符串的一个子串 |
lower() | 将文本转换为小写 |
upper() | 将文本转换为大写 |
soundex() | 返回字符串的soundex值 |
substring() | 返回子串的字符 |
1、upper()
select name,upper(name) from student;
查询学生的姓名和将姓名列值全部转换为大写字母的姓名。结果为:
+-------+-------------+ | name | upper(name) | +-------+-------------+ | Susan | SUSAN | | Jame | JAME | | Bob | BOB | | Robot | ROBOT | | Jen | JEN | | Toney | TONEY | +-------+-------------+
2、soundex()
select name from student where soundex(name)=soundex('Tom');
查询姓名发音与“Tom”相似的学生信息。结果为:
+-------+ | name | +-------+ | Toney | +-------+
soundex是一个将任何文本串转换为描述其语音表示的字母数字模式的算法,也就是说,它能对字符串进行发音比较而不是字母比较。
数据库的日期和时间采用特殊的格式存储,要在应用程序中使用往往需要进行一定的处理,MySQL常用的日期和时间处理函数如下:
函数 | 说明 |
---|---|
now() | 返回当前日期和时间 |
curdate() | 返回当前日期 |
curtime() | 返回当前时间 |
adddate() | 增加一个日期(天、周等) |
addtime() | 增加一个时间(时、分等) |
datediff() | 计算两个日期之差 |
date_add() | 高度灵活的日期运算函数 |
date_format() | 返回一个格式化的日期或时间串 |
dayofweek() | 对应一个日期,返回对应的星期几 |
date() | 返回日期时间的日期部分 |
time() | 返回日期时间的时间部分 |
year() | 返回一个日期的年份部分 |
month() | 返回一个日期的月份部分 |
day() | 返回一个日期的天数部分 |
hour() | 返回一个时间的小时部分 |
minute() | 返回一个时间的分钟部分 |
second() | 返回一个时间的秒部分 |
注意:MySQL使用的日期格式必须为“yyyy-mm-dd”。
以下是一些使用日期时间函数的例子:
1、查询当前时间
select curtime();
返回结果:
+-----------+ | curtime() | +-----------+ | 12:36:18 | +-----------+
2、查询今天是几号
select day(curdate());
返回结果:
+----------------+ | day(curdate()) | +----------------+ | 15 | +----------------+
3、查询5天后星期几
select dayofweek(adddate(now(),5));
返回结果:
+-----------------------------+ | dayofweek(adddate(now(),5)) | +-----------------------------+ | 5 | +-----------------------------+
注意:dayofweek()的结果从1开始编码,即:1=星期天,2=星期一, ...7=星期六。所以5就表示是星期四。
数值处理函数仅处理数值数据,主要用于代数、三角和几何运算。MySQL的常用数值处理函数如下:
函数 | 说明 |
---|---|
abs() | 返回一个数的绝对值 |
exp() | 返回一个数的指数值 |
sqrt() | 返回一个数的平方根 |
sin() | 返回一个角度的正弦 |
cos() | 返回一个角度的余弦 |
tan() | 返回一个角度的正切 |
mod() | 返回除操作的余数 |
pi() | 返回圆周率 |
rand() | 返回一个随机数 |
查询圆周率
select pi();
返回结果:
+----------+ | pi() | +----------+ | 3.141593 | +----------+
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6