数据库----函数

简介: 数据库----函数

函数介绍

函数是指一段可以直接被另一段程序调用的程序或代码

函数的分类

1.字符串函数

2.数值函数

3.日期函数

4.流程函数

字符串函数

# 字符串拼接
select concat( 'hello ', 'world' );
# 字符串全部转为小写
select lower( 'HELLO' );
# 字符串全部转为大写
select upper( 'hello' );
# 左填充
select lpad( '12', 5, '0' );
# 右填充
select rpad( '12', 5, '-' );
# 去除左右空格
select trim( '  hello world  ' );
# 获取子字符串
select substring( 'hello world', 1, 5 );

练习

# 将emp表中的workno统一为五位数,不足前面补0
update emp set workno = lpad( workno, 5, '0' );
select * from emp;

数值函数

# ceil
select ceil(1.1);  #结果  2
# floor
select floor(1.9); #  1
# mod
select mod( 5, 4 ); #  1
# rand
select rand(); #随机数
# round
select round(1.4); #  1
select round(1.5); #  2

练习

# 使用rpad,因为存在0.012345的情况,乘1000000只有五位整数,所以要补齐
select rpad( round( rand()*1000000 ), 6, '0' );

日期函数

# curdate当前日期
select curdate();
# curtime当前时间
select curtime();
# now当前日期时间
select now();
# year指定date的年
select year(now());
# month
select month(now());
# day
select day(now());
# date_add
select date_add(now(), interval 20 day );
select date_add(curdate(), interval 20 day );
# datediff 前大后小
select datediff('2023-11-11', now());  #  614

练习

select name,datediff(curdate(), entrydate) as 'entryDay' from emp order by entryDay desc ;

流程函数

# if
select if( true, 'true', 'error' );
select if( false, 'true', 'error' );
# ifnull
select ifnull('123', 'Null');
select ifnull(null , 'null');
# 查询表emp的员工姓名和工作地址(北京、上海--一线城市,其他--二线城市)
select
       name,
       (case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) '工作地址'
from emp;

导入表:

# 创建表
create table score (
    id int comment 'ID',
    name varchar(20),
    math int,
    english int,
    chinese int
);
# 添加数据
insert into
    score (id, name, math, english, chinese)
values
       (1,'tom',67,88,95),
       (2,'rose',23,66,90),
       (3,'jack',56,98,76);
select
       id,
       name,
       case when math>=85 then '优秀' when math>=60 then '及格' else '不及格' end as 'math',
       case when english>=85 then '优秀' when english>=60 then '及格' else '不及格' end as 'english',
       case when chinese>=85 then '优秀' when chinese>=60 then '及格' else '不及格' end as 'chinese'
from score;

相关文章
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
【MySQL 数据库】2、MySQL 的数据控制语言、函数和约束
62 0
|
28天前
|
SQL 数据挖掘 测试技术
南大通用GBase8s数据库:LISTAGG函数的解析
南大通用GBase8s数据库:LISTAGG函数的解析
|
28天前
|
SQL 测试技术 数据库
|
2月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
7月前
|
SQL 存储 关系型数据库
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
【MySQL技术专题】「实战开发系列」一同探索一下数据库的加解密函数开发实战指南之AES系列
374 0
|
4月前
|
SQL 数据处理 数据库
|
4月前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
500 0
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础第二篇(函数)
MySQL数据库基础第二篇(函数)
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
MySQL数据库——基础篇总结(概述、SQL、函数、约束、多表查询、事务)一
49 5
|
6月前
|
关系型数据库 MySQL 数据库
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
MySQL数据库——函数-字符串函数、数值函数、日期函数、流程函数
54 2