欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL学习笔记(2)--数据处理函数/单行处理函数

程序员文章站 2022-06-22 20:33:25
1.文本处理函数1.1常用函数Lower转换小写upper转换大写substr取子串(substr(被截取的字符串,起始下标,截取的长度))length取长度trim去空格str_to_date将字符串转换成日期date_format格式化日期format设置千分位round四舍五入rand()生成随机数Ifnull可以将null转换成一个具体值1. lower查询员工,将员工姓名全部转换成小写 :s...

1.文本处理函数

1.1常用函数

Lower 转换小写
upper 转换大写
substr 取子串(substr(被截取的字符串,起始下标,截取的长度)
length 取长度
trim 去空格
str_to_date 将字符串转换成日期
date_format 格式化日期
format 设置千分位
round 四舍五入
rand() 生成随机数
Ifnull 可以将null转换成一个具体值

1. lower

查询员工,将员工姓名全部转换成小写 :

select lower(ename) from emp;

MySQL学习笔记(2)--数据处理函数/单行处理函数

2. upper

查询job为manager的员工 :

select * from emp where job=upper('manager');

MySQL学习笔记(2)--数据处理函数/单行处理函数

3. substr

查询姓名以M开头所有的员工 :

select * from emp where substr(ename, 1, 1)=upper('m');

MySQL学习笔记(2)--数据处理函数/单行处理函数

4. length

取得员工姓名长度为5的 :

select length(ename), ename from emp where length(ename)=5;

MySQL学习笔记(2)--数据处理函数/单行处理函数

5. trim

trim会去首尾空格,不会去除中间的空格。

取得工作岗位为manager的所有员工 :

select * from emp where job=trim(upper('manager  '));

MySQL学习笔记(2)--数据处理函数/单行处理函数

6. str_to_date(必须严格按照标准输出)

查询1981-02-20入职的员工(第一种方法,与数据库的格式匹配上)
MySQL学习笔记(2)--数据处理函数/单行处理函数
查询1981-02-20入职的员工(第二种方法,将字符串转换成date类型)
MySQL学习笔记(2)--数据处理函数/单行处理函数
str_to_date可以将字符串转换成日期,具体格式str_to_date (字符串,匹配格式)

7. date_format

查询1981-02-20以后入职的员工,将入职日期格式化成yyyy-mm-dd hh:mm:ss
MySQL学习笔记(2)--数据处理函数/单行处理函数
select date_format(now(),’%Y-%m-%d %H %i %s’);

now() 获得当前时间

日期格式的说明:

%Y:代表4位的年份

%y:代表2位的年份

%m:代表月, 格式为(01……12)

%c:代表月, 格式为(1……12)

%H:代表小时,格式为(00……23)

%h: 代表小时,格式为(01……12)

%i: 代表分钟, 格式为(00……59)

%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)

%T:代表 时间,格式为24 小时(hh:mm:ss)

%S:代表 秒,格式为(00……59)

%s:代表 秒,格式为(00……59)

8. format

查询员工薪水加入千分位 :

select empno, ename, Format(sal, 0) from emp;

MySQL学习笔记(2)--数据处理函数/单行处理函数
查询员工薪水加入千分位和保留两位小数
MySQL学习笔记(2)--数据处理函数/单行处理函数

9. round

四舍五入 :

select round(123.56);

MySQL学习笔记(2)--数据处理函数/单行处理函数

10. rand()

生成随机数 :

select rand();

MySQL学习笔记(2)--数据处理函数/单行处理函数
随机抽取记录数

11. case when then ……else…end

如果job为MANAGERG薪水上涨10%,如果job为SALESMAN工资上涨50%
MySQL学习笔记(2)--数据处理函数/单行处理函数
其他的工资不动,需要添加else

select e.*.sal,case job when 'salesman' then sal*1.1 when 'clerk'  then sal*1.2 else sal end as new_sal from emp e; 

MySQL学习笔记(2)--数据处理函数/单行处理函数

12. ifnull

MySQL学习笔记(2)--数据处理函数/单行处理函数
数据处理函数又被称为单行处理函数,特点:输入一行输出一行

1.2全部函数

MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
soundex()将一个文本串转换为描述其语音的字母模式算法,考虑类似的发音字符和音节,对串的发音比较而不是字母比较

subString(需要截取的字段,需要截取的起始位置,需要截取的长度)

trim():去除字符的左右的空格

示例:
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数

MySQL学习笔记(2)--数据处理函数/单行处理函数

2.日期和时间处理函数

MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数

MySQL学习笔记(2)--数据处理函数/单行处理函数

3.数值处理函数

MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数

4.高级函数

MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数
MySQL学习笔记(2)--数据处理函数/单行处理函数

5.日期处理 (1)_str_to_date

1.作用

将“日期字符串”转换成“日期类型”数据。【varchar-----》date】

2.执行结果

date类型

3.使用格式

str_to_date(‘日期字符串’,’日期格式‘)

4.关于MYSQL日期格式

1.Java日期格式:

	yyyy		-- 年
​	MM			-- 月
​	dd			-- 日
​	HH			-- 时
​	mm			-- 分
​	ss			-- 秒
​	SSS			-- 毫秒

2.Java将字符串转换成日期类型:

SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

Date date =  sdf.parse("1970-10-10");

3.MYSQL 日期格式:%Y-%m-%d

	%Y				-- 年%m			    -- 月%d				-- 日%H				-- 时%i				-- 分%s				-- 秒

示例:

mysql> select ename,hiredate from emp where hiredate = "1980-12-17";

MySQL学习笔记(2)--数据处理函数/单行处理函数
正规写法:

mysql> 
select ename,hiredate from emp where hiredate = str_to_date("12-17-1980",'%m-%d-%Y');

MySQL学习笔记(2)--数据处理函数/单行处理函数
注意:“1980-12-17”之所以能够查询通过,是因为当前字符串类型数据得数据格式与MYSQL数据库默认得日期类型相同,所以查询通过,如果是“12-17-1980”将会报异常

示例:

mysql> insert into t_student(id,name,birth) values(2,"heheda","11-12-1996");

MySQL学习笔记(2)--数据处理函数/单行处理函数
正确写法:

mysql> 
insert into t_student(id,name,birth) 
values(2,"heheda",str_to_date("11-12-1996",'%m-%d-%Y'));

MySQL学习笔记(2)--数据处理函数/单行处理函数

6.日期处理(2)_date_format

1.作用

将date转换成特定格式得日期字符串varchar【date----》varchar】

2.执行结果

varchar类型(具备特定格式的)

3.语法格式

date_format(日期类型格式,“日期格式”);

4.Java格式回顾

Java中的日期格式化:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date newTime = new Date();

String strTime = sdf.format(newTime);

示例:

mysql> select ename,date_format(hiredate,"%m-%d-%Y") as hiredate from emp;

MySQL学习笔记(2)--数据处理函数/单行处理函数

mysql> select ename,date_format(hiredate,"%m/%d/%Y") as hiredate from emp;

MySQL学习笔记(2)--数据处理函数/单行处理函数

select ename,hiredate from emp ====== select ename,date_format(hiredate,"%Y-%m-%d") as hiredate from emp; 这两个句子相等.

5.结论

date_format函数主要用在查询的语句中,来展示特定格式的日期字符串数据格式。

7 分组函数/聚合函数/多行处理函数

1.count(取得记录数)

MySQL学习笔记(2)--数据处理函数/单行处理函数
注意:使用count时条件可以使用字段,也可以使用 * 号,但是使用字段时或忽略空值,使用星号将不会;
MySQL学习笔记(2)--数据处理函数/单行处理函数
注意:在使用count函数时,使用where添加条件
MySQL学习笔记(2)--数据处理函数/单行处理函数
意为:符合条件的所有记录总和

2.sum(求和)

MySQL学习笔记(2)--数据处理函数/单行处理函数

3.avg(取平均值)

MySQL学习笔记(2)--数据处理函数/单行处理函数

4.max(取最大的数)

MySQL学习笔记(2)--数据处理函数/单行处理函数

5.min(取最小值)

MySQL学习笔记(2)--数据处理函数/单行处理函数
注意:分组函数会自动忽略空值。分组函数不可直接使用在where后面

6.distinct

将查询结果中的重复数据去除,

注意:distinct只能出现在所有字段的前面。
MySQL学习笔记(2)--数据处理函数/单行处理函数

本文地址:https://blog.csdn.net/qq_19331985/article/details/107633215

相关标签: mysql学习笔记