MySQL从青铜到王者第五篇:MySQL内置函数
Posted 森明帮大于黑虎帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL从青铜到王者第五篇:MySQL内置函数相关的知识,希望对你有一定的参考价值。
系列文章目录
文章目录
- 系列文章目录
- 前言
- 一、日期函数
- 二、字符串函数
- 1.charset(string)返回字符串字符集
- 2.concat(string,...)连接字符串
- 3.instr(string,substring)返回子串出现的位置
- 4.ucase(string)转换为大写
- 5.lcase(string)转换为小写
- 6.left(string,len)从string字符串取len长度
- 7.length(string)string的长度
- 8.replace(string,search_str,replace_str)在string中用后者代替前者
- 9.strcmp(string1,string2)两者字符串以ASCII码比较
- 10.substring(str,position,lenght)从str的position位置开始取length个字符
- 11.ltrim(string)去除前空格、rtrim(string)去除后空格
- 12.获取emp表的ename列的字符集
- 13.要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
- 14.求学生表中学生姓名占用的字节数
- 15.将EMP表中所有名字中有S的替换成'上海
- 16.取EMP表中ename字段的第二个到第三个字符
- 17.以首字母小写的方式显示所有员工的姓名(concat连接两个字符串)
- 18.以首字母小写显示所有员工的名字的第一个字母
- 三、数学函数
- 四、其他函数
- 总结
前言
一、日期函数
1.获得年月日
select current_date();
2.获得时分秒
select current_time();
3.获得时间戳
时间戳是从1970年1月1日0时0分0秒开始的。
MariaDB [scott]> select current_timestamp();
4.在日期的基础上加上时间
select date_add(‘2021-9-5’,interval 10 day);
5.在日期的基础上减去时间
select date_sub(‘2021-9-5’,interval 10 day);
6.计算两个日期相差多少天
select datediff(‘2020-9-5’,‘2021-9-5’);
7.当前日期时间date(now())
select date(now());
8.date(datetime)返回datetime的参数部分
select date(‘2021-9-5’);
二、字符串函数
1.charset(string)返回字符串字符集
select charset(“hhh”);
2.concat(string,…)连接字符串
select concat(“abc”,“123”);
3.instr(string,substring)返回子串出现的位置
select instr(“abcdef”,“cd”);
4.ucase(string)转换为大写
select ucase(“abc”);
5.lcase(string)转换为小写
select lcase(“AbC”);
6.left(string,len)从string字符串取len长度
select left(“abc123string”,4);
7.length(string)string的长度
select length(“string”);
8.replace(string,search_str,replace_str)在string中用后者代替前者
select replace(“abcdef123”,“def”,“456”);
9.strcmp(string1,string2)两者字符串以ASCII码比较
select strcmp(“abc”,“def”);
10.substring(str,position,lenght)从str的position位置开始取length个字符
select substring(“string”,2,3);
11.ltrim(string)去除前空格、rtrim(string)去除后空格
select ltrim(" string ");
12.获取emp表的ename列的字符集
select charset(ename) from emp;
13.要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”
select concat(name,’:语文是:’,yuwen,‘分,数学是’,shuxue,‘分,英语是’,yingyu) as “分数” from exam_result;
14.求学生表中学生姓名占用的字节数
select length(name), name from exam_result;
注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数;如果是单字节字符则算作一个字节。比如:字母,数组算作一个字节,中文表示多个字节数(与字符集编码有关)。
15.将EMP表中所有名字中有S的替换成’上海
真正的修改数据得用update,这里修改并不算真正修改。
select replace(ename,‘S’,“上海”),ename from emp;
16.取EMP表中ename字段的第二个到第三个字符
select substring(ename,2,2) ename from emp;
17.以首字母小写的方式显示所有员工的姓名(concat连接两个字符串)
select concat(lcase(substring(ename,1,1)),substring(ename,2)) from emp;
18.以首字母小写显示所有员工的名字的第一个字母
select lcase(left(ename,1)) from emp;
三、数学函数
1.abs(number)绝对值函数
select abs(-10);
2.bin(decimal_number)十进制转换二进制
select bin(10);
3.hex(decimal_number)十进制转换十六进制
select hex(20);
4.conv(number,from_base,to_base)进制转换
5.ceiling(number)向上取整
6.floor(number)向下取整
7.format(number,decimal_places)格式化,保留小数位数
8.rand()返回随机浮点数【0.0,1.0)
9.mod(number,denominator)取模,求余
四、其他函数
1.user() 查询当前用户
2.md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串
3.database()显示当前正在使用的数据库
4.password()函数,mysql数据库使用该函数对用户加密’
5.ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
总结
以上就是今天要讲的内容,本文详细介绍了数据库内置函数的使用,内置函数提供了大量的方法供我们使用,非常的便捷,我们务必掌握。希望大家多多支持!另外如果上述有任何问题,请懂哥指教,不过没关系,主要是自己能坚持,更希望有一起学习的同学可以帮我指正,但是如果可以请温柔一点跟我讲,爱与和平是永远的主题,爱各位了。加油啊!
以上是关于MySQL从青铜到王者第五篇:MySQL内置函数的主要内容,如果未能解决你的问题,请参考以下文章