服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL实例精讲单行函数以及字符数学日期流程控制

MySQL实例精讲单行函数以及字符数学日期流程控制

2021-11-23 17:38叶绿体不忘呼吸 Mysql

SQL函数即数据库的内置函数,可以运用在SQL语句中实现特定的功能。SQL单行函数对于每一行数据进行计算后得到一行输出结果。SQL单行函数根据数据类型分为字符函数、数字函数、日期函数、转换函数,另外还有一些别的函数

一、字符函数

MySQL实例精讲单行函数以及字符数学日期流程控制

1、大小写控制函数

upper():转换成大写

?
1
select upper('hello');

MySQL实例精讲单行函数以及字符数学日期流程控制

lower():转换成小写

?
1
select lower('hello');

MySQL实例精讲单行函数以及字符数学日期流程控制

2、字符控制函数

length():获取参数值的字节个数

?
1
select length('叶绿体不忘呼吸aaaa');

MySQL实例精讲单行函数以及字符数学日期流程控制

concat():拼接字符串

?
1
select concat('hello','世界') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

substr():截取(mysql里索引是从1开始的,而不是0)

?
1
2
#从第4个开始截取,截取后面全部
select substr('我相信光',4);

MySQL实例精讲单行函数以及字符数学日期流程控制

?
1
2
#从第1个开始截取,截取3个
select substr('我相信光',1,3);

MySQL实例精讲单行函数以及字符数学日期流程控制

instr():返回子串在主串中第一次出现的索引,如果不存在,则返回0

?
1
select instr('国足10月13日客战沙特','沙特') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

trim():去除字符串前后某字符

?
1
select trim('a' from 'aaaaa叶aa绿体aaaaa') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

?
1
2
#去空格
select trim('    叶aa绿体a    ') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

lpad():用指定的字符左填充指定长度,rpad()则是右填充

?
1
select lpad('叶绿体',9,'a') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

replace():替换

?
1
select replace('a叶aaa绿体aaaa','a','b') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

二、数学函数

round():四舍五入

?
1
2
#默认保留一位小数
select round(1.62) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

?
1
2
#保留两位小数
select round(1.627,2) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

ceil():向上取整,返回大于等于该数的最小整数

?
1
select ceil(1.002) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

floor():向下取整,返回小于等于该数的最大整数

?
1
select floor(1.002) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

truncate():截断

?
1
select truncate(1.699,1) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

mod():取余,等价于%

?
1
select mod(10,-3) as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

三、日期函数

MySQL实例精讲单行函数以及字符数学日期流程控制

①now():返回当前系统的日期和时间

?
1
select now();

MySQL实例精讲单行函数以及字符数学日期流程控制

②curdate():返回当前系统日期,不包含时间

?
1
select curdate();

MySQL实例精讲单行函数以及字符数学日期流程控制

③curtime():返回当前系统时间,不包括日期

?
1
select curtime();

MySQL实例精讲单行函数以及字符数学日期流程控制

yrear():获取指定日期字段的年

?
1
select year(now());

MySQL实例精讲单行函数以及字符数学日期流程控制

?
1
select year('2021-09-30') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

month():获取指定日期字段的月,monthname()则可以返回月份英文

?
1
select month('2021-09-30') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

?
1
select monthname('2021-09-30') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

日,小时,分钟,秒钟都可以同上

str_to_date():将字符按照指定的格式转为日期

?
1
2
#相当于是解析:两个参数格式要匹配
select str_to_date('9-30 2021','%m-%d %y') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

date_format():将日期转换成字符

?
1
2
#相当于是格式化
select date_format(now(),'%y年%m月%d日') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

四、其他函数

?
1
2
3
4
5
6
#查看版本
select version();
#查看数据库
select database();
#查看用户
select user();

五、流程控制函数

if():判断,第一个参数是条件,第二个是true的返回,第三个是false的返回

?
1
select if(10>5,'大','小') as result;

MySQL实例精讲单行函数以及字符数学日期流程控制

case()使用一:类似于java中switch

?
1
2
3
4
5
case 要判断的
when 常量1 then 语句1;或者要显示的值1
...
else 语句;或者要显示的值
end

示例

?
1
2
3
4
5
6
7
8
9
10
#示例为要显示的值,不加‘;'
select `last_name`,`salary`,`department_id`,
case `department_id`
when 100 then `salary`*(1+0.8)
when 90 then `salary`*(1+0.6)
when 80 then `salary`*(1+0.4)
when 70 then `salary`*(1+0.2)
else `salary`
end as 最终工资
from employees;

case()使用一:类似于java中多重if

?
1
2
3
4
5
case
when 条件1 then select 语句1;或者要显示的值1
...
else 语句;或者要显示的值
end

示例

?
1
2
3
4
5
6
7
8
9
#示例为要显示的值,不加‘;'
select `last_name`,`salary`,
case
when `salary`>20000 then 'a级别'
when `salary`>15000 then 'b级别'
when `salary`>10000 then 'c级别'
else 'd级别'
end as 等级
from employees;

MySQL实例精讲单行函数以及字符数学日期流程控制

到此这篇关于mysql深度精讲单行函数以及字符数学日期流程控制的文章就介绍到这了,更多相关mysql 单行函数 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_46653805/article/details/120699370

延伸 · 阅读

精彩推荐