【MySQL】常见函数使用(二)

news/2024/11/16 6:43:38/

🚗MySQL学习·第二站~
🚩本文已收录至专栏:数据库学习之旅
❤️文末附全文思维导图,感谢各位点赞收藏支持~

就如同许多编程语言中的API一样,MySQL中的函数同样是官方给我们封装好的,可以直接调用的一段代码。上一篇中所介绍的聚合函数也为函数的一种,使用函数我们可以快速便捷的完成我们的一些需求,例如统计一些拼接字符串,对数值进行取值处理、日期操作等等。

MySQL官方给我们提供了大量的函数以供使用,详细可跳转: Functions and Operators,下面介绍其中一些常用的函数~

  • 常见字符串函数:
函数功能
CONCAT(S1,S2,...Sn)字符串拼接,将S1,S2,… Sn拼接成一个字符串
LOWER(str)将字符串str全部转为小写
UPPER(str)将字符串str全部转为大写
LPAD(str,n,pad)左填充,用字符串pad对str的左边进行填充,达到n个字符 串长度
RPAD(str,n,pad)右填充,用字符串pad对str的右边进行填充,达到n个字符 串长度
TRIM(str)去掉字符串头部和尾部的空格
SUBSTRING(str,start,len)返回从字符串str从start位置起的len个长度的字符串
  • concat : 字符串拼接
select concat('Hello,' , name) from emp;

在这里插入图片描述

  • lower : 全部转小写
select lower('Hello');

在这里插入图片描述

  • upper : 全部转大写
select upper('Hello');

在这里插入图片描述

  • lpad : 左填充
select lpad(name, 5, '*') from emp;

在这里插入图片描述

  • rpad : 右填充
select rpad(name, 5, '*') from emp;

在这里插入图片描述

  • trim : 去除空格
select trim('            Hello  MySQL ');

在这里插入图片描述

  • substring : 截取子字符串
select substring(name,1,1) from emp;

在这里插入图片描述

二.数值函数

  • 常见数值函数:
函数功能
CEIL(x)向上取整
FLOOR(x)向下取整
MOD(x,y)返回x/y的模
RAND()返回0~1内的随机数
ROUND(x,y)求参数x的四舍五入的值,保留y位小数
  • ceil:向上取整
select ceil(1.1);

在这里插入图片描述

  • floor:向下取整
select floor(1.9);

在这里插入图片描述

  • mod:取模
select mod(7,4);

在这里插入图片描述

  • rand:获取随机数
select rand();

在这里插入图片描述

  • round:四舍五入
select round(2.344,2);

在这里插入图片描述

三.日期函数

  • 常见日期函数:
函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2)返回起始时间date1 和 结束时间date2之间的天数
  • curdate:当前日期
select curdate();

在这里插入图片描述

  • curtime:当前时间
select curtime();

在这里插入图片描述

  • now:当前日期和时间
select now();

在这里插入图片描述

  • YEAR , MONTH , DAY:当前年、月、日
select YEAR(now());
select MONTH(now());
select DAY(now());

在这里插入图片描述

  • date_add:增加指定的时间间隔
select date_add(now(), INTERVAL 70 YEAR );

在这里插入图片描述

  • datediff:获取两个日期相差的天数
select datediff(now(),'2023-1-1');

在这里插入图片描述

四.流程函数

  • 可以使用流程函数来实现条件筛选,提高语句的效率:
函数功能
IF(value , t , f)如果value为true,则返回t,否则返回 f
IFNULL(value1 , value2)如果value1不为空,返回value1,否则 返回value2
CASE WHEN [ val1 ] THEN [res1] … ELSE [ default ] END如果val1为true,返回res1,… 否 则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN [res1] … ELSE [ default ] END如果expr的值等于val1,返回 res1,… 否则返回default默认值
  • if示例:
select if(false, 'Success', 'Error');

在这里插入图片描述

  • ifnull示例
select ifnull('Ok','Default');
select ifnull(null,'Default');

在这里插入图片描述

  • CASE [ expr ] WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END示例
select name,
( case workaddress when '北京' then '一线城市' when '上海' then '一线城市' else 
'二线城市' end ) as '工作地址'from emp;

在这里插入图片描述

  • CASE WHEN [ val1 ] THEN [res1] ... ELSE [ default ] END示例
select name,
(case when age >= 20 then '年轻人' when age >= 40 then '中年人' else '老年人' end ) as 年龄
from emp;

在这里插入图片描述

五.全文概览

在这里插入图片描述


http://www.ppmy.cn/news/892803.html

相关文章

狂野飙车8服务器在哪个文件夹,狂野飙车8存档在哪

这款游戏的的存档方法,不同的版本是不一样的。如果是ios苹果版本的狂野飙车8游戏,存档的位置应该是放置在游戏安装的目录下面的Documents目录的下面,玩家只需要将存档的内容放置在这个目录的下面,选择覆盖就可以了。这就是狂野飙车…

《极品飞车 地下狂飙2》秘籍

《极品飞车 地下狂飙2》除了比上一代更好的创意之外,对车辆的行驶特性的模拟也有了长足的进步,虽然与真车还有很大的差距,但车辆的大致特性已经被完全模拟出来了。 所有内容包括:车辆模式的分类与概述,不同驱动模式车辆…

极品飞车:地下狂飙2技巧和窍门

极品飞车:地下狂飙2技巧和窍门 以一个漂亮的照片拍摄一旦你在照片拍摄方面,新闻界,握住你的手闸,然后转速发动机,按左边或右边。这款车应该做的甜甜圈。虽然是这样做的,拍照。这会给烟雾弥漫看在画面的车轮…

使用 YOLOv8 和 Streamlit 构建实时对象检测和跟踪应用程序:第 1 部分-介绍和设置

示例:图像上的对象检测 介绍 实时视频中的目标检测和跟踪是计算机视觉的一个重要领域,在监控、汽车和机器人等各个领域都有广泛的应用。 由于需要能够识别和跟踪对象、确定其位置并对它们进行实时分类的自动化系统,对视频帧中的实时对象检测和跟踪的需求日益增加。 在这…

5G全网通工业三防平板Windows移动电脑

当今科技领域的快速发展为我们的生活带来了许多便利和高效性能。在这个数字化时代,移动设备已成为我们生活的重要组成部分。在这一领域,搭载全新第12代英特尔酷睿Mi5-1235U/i7-1255U处理器的工业三防平板Windows移动电脑无疑是一款引人注目的产品。 这款…

Elementary OS安装打印机HP LaserJet 1020

Elementary OS是基于Ubuntu的一款华丽发行版。作为小眼儿的主要操作系统,承担了大部分日常工作!但是当她碰到办公室的老HP1020,突然就抓了瞎。 打印任务发送出去以后,屏幕右上角消息提示“打印中”…“打印完毕”,可眼瞅着打印机却…

hp laserjet 1020驱动 for windows

hp laserjet 1020驱动 for windows http://h10025.www1.hp.com/ewfrf/wc/product?cccn&dlczh-hans&lczh-hans&os228&product439320&sw_lang& 关于打印机的双面打印 在打印机的属性里进行设置,打出来的要水平旋转18&…

《配置办公室共享打印机,型号HP LaserJet 1020》

我的课题室有一台打印机(HP LaserJet 1020,应该有些年头了但是依然能使),我想把它配置成共享打印机,让课题室其他人的pc可以调用(共享)这台打印机。首先那台打印机连接的是一台台式机系统为Windows7&#x…