05mysql---函数

news/2024/5/16 9:00:56/文章来源:https://blog.csdn.net/m0_74739916/article/details/130725483

目录

1:日期函数

2:字符函数

 3:数值函数

4:流程函数


1:日期函数

select 函数(参数)

函数功能举例
curdate()返回当前日期2023-05-17
curtime()返回当前时间14:44:33
now()返回当前日期和时间2023-05-17 14:44:33
year(date)获取指定date的年份
month(date)获取指定date的月份
day(date)获取指定date的日期
date_add(date,interval expr type)返回一个日期/时间值加上一个时间间隔expr后的时间值
datediff(date1,date2)返回起始时间date1和结束时间date2之间的天数计算时:date1-date2  如果date2>date1会出现负值
--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(),"2021-04-05");--curdate
select curdate();--curtime
select curtime();

原数据:

--案例:查询所有员工的入职天数,并根据入职天数倒序排序
select name,datediff(now(),time_a) as "入职时间" from user_name order by "入职时间" desc;

2:字符函数

select 函数(参数)
函数功能补充
concat(s1,s1....)字符串拼接,将S1,S2,.Sn拼接成一个字符串
lower(str)将字符串str全部转为小写
upper(str)将字符串str全部转为大写
lpad(str,n,pad)左填充,用字符串pad对str的左边进行填充,达到n个字符串长度n:字符串总共的长度,pad:用什么填充
rpad(str,n,pad)右填充,用字符串pad对str的右边进行填充,达到n个字符串长度n:字符串总共的长度,pad:用什么填充
trim(str)去掉字符串头部和尾部的空格
substring(str,start,len)返回从字符串str从start位置起的len个长度的字符串1开始数
--concat
select concat ("hello","mysql");
--lower
select lower("HELLO");
--upper
select upper("hello");
-lpad
select lpad("01",5,"0");
-rpad
select rpad("01",5,"0");
-trim
select trim("  hello    mysql    ");
--substring
select substring("hello mysql",1,5);

原数据

--1,由于业务需求变更,企业员工的工号job,统一%15位数,目前不5位数的全部在前面补0。比如:1号员工的工号应该%000000000000001
update user_name set job = lpad(job,15,"0");

 3:数值函数

函数功能
ceil(x)向上取整
floor(x)向下取整
mod(x,y)返回x/y的模    mod(4,5)=4,相当于python的取余
rand()返回0~1内的随机数
round(x,y)求参数x的四舍五入的值,保留y位小数
--ceil
select ceil(1.1);
--floor
select floor(1.9);
-mod
select mod(4,5);
--rand
select rand();
--round
select round(2.344,2);
--案例: 通过数据库的函数,生成一个六位数的随机验证码。
select ceil(rand()*1000000);--或者
select  rpad(round(rand()*1000000,0),6,0);

4:流程函数

函数功能补充
if(value,t,f)如果value为true,则返回t,否则返回fvalues为"""," "都为flase
ifnull(value1,value2)如果value1不为空,返回value1,否则返回value2""也不算空,只有当valuse为null时返回value2
case when [val1]  then  [res1] .......  else [default]  end 如果val1为true,返回res1,... 否则返回default默认值when ..then...可以写多个
case  [expr]  when [val1]  then  [res1]  else   [default]  end如果expr的值等于val1,返回res1,... 否则返回default默认值
select if ("1","yes","no");
select ifnull(flase,"hello");
-- case when then else end
select 
name,
(case gender when "男" then "努力" when "女" then "加油" else "不是人" end ) as "类型" 
from user_name;select 
name,
(case when age ="18" then "成年" when age ="20" then "刚好" else "没有拉" end) as "年龄"
from user_name;

 

在 SQL 的 CASE 表达式中,有两种常见的语法形式,分别是:

1. case when [条件1] then [结果1] when  [条件2] then [结果2] ... else [默认结果] end


这种形式是根据条件进行判断,并返回对应的结果。每个条件可以是一个逻辑表达式,当条件满足时,返回对应的结果。如果没有任何条件满足,则返回默认结果。

2. case [表达式] when [值1] then [结果1] when [值2] then [结果2] ... else [默认结果] end


这种形式是根据表达式的值进行判断,并返回对应的结果。表达式可以是一个字段名、计算表达式或任何其他可求值的表达式。当表达式的值与某个条件值匹配时,返回对应的结果。如果没有匹配的条件值,则返回默认结果。

总结一下两种形式的区别:
- 第一种形式基于条件进行判断,条件可以是任意逻辑表达式。
- 第二种形式基于表达式的值进行判断,表达式可以是字段名、计算表达式等。

选择使用哪种形式取决于具体的需求和数据情况。根据情况选择更适合的形式可以使 SQL 查询更加清晰和易于理解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_302261.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习26:个人所得税计算器

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 2018年10月1日以前&#xff…

特征选择与特征提取

目录 一、 特征选择1、特征2、特征选择3、扩展——特征选择算法(有兴趣和精力可了解)拓展--完全搜索:拓展--启发式搜索:拓展--随机搜索:拓展--遗传算法: 二、 特征提取三、特征提取主要方法——PCA(主成分分析)1、PCA算法是如何实现的?PCA--零均值化(中心…

【Linux命令】mount / umount命令、查看文件的挂载情况(lsblk)

在Windows环境下,我们可以直接访问检测到的外部设备,如磁盘、U盘等;然而在Linux环境下,外部硬件设备如磁盘、SD卡等外部设备是无法直接访问的。因此就需要挂载。 参考链接:mount 详解 目录 1、什么是挂载?…

Packet Tracer – 配置中继

Packet Tracer – 配置中继 地址分配表 设备 接口 IP 地址 子网掩码 交换机端口 VLAN PC1 NIC 172.17.10.21 255.255.255.0 S2 F0/11 10 PC2 NIC 172.17.20.22 255.255.255.0 S2 F0/18 20 PC3 NIC 172.17.30.23 255.255.255.0 S2 F0/6 30 PC4 NIC 1…

系统分析师:六、企业信息化战略与实施

目录 一、信息与信息化概念 1.1 信息的概念 1.2 信息化的概念 二、信息系统 2.1 信息系统的概念 2.2 信息系统的类型 2.3 信息系统的生命周期 2.4 系统建模 2.5 信息系统战略规划 2.6 信息化开发方法 三、电子政务 四、企业资源计划(ERP) 五、系统集成 一、信息与信息…

第三十三章 使用Redux管理状态

Redux(全称为Redux)是一个基于状态管理的JavaScript库,它可以用来构建可重用的、可维护的代码。Redux主要用于处理复杂的应用程序中的状态管理,它能够自动地处理应用程序中的更改,并在需要时更新视图。 Redux使用一种被…

FreeRTOS_系统配置

目录 1. FreeRTOSConfig.h 文件 2. "INCLUDE_" 开始的宏 2.1 INCLUDE_xSemaphoreGetMutexHolder 2.2 INCLUDE_xTaskAbortDelay 2.3 INCLUDE_vTaskDelay 2.4 INCLUDE_vTaskDelayUntil 2.5 INCLUDE_vTaskDelete 2.6 INCLUDE_xTaskGetCurrentTaskHandle 2.7 IN…

Matlab论文插图绘制模板第92期—折线图(Plot)

之前有分享过Matlab折线图的绘制模板: 但随着技术力的提升,发现很多地方还有待改进,于是便有了本期内容。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请自行下载。有需…

5th-Generation Mobile Communication Technology(二)

目录 一、5G/NR 1、 快速参考(Quick Reference) 2、5G Success 3、5G Challenges 4、Qualcomm Videos 二、PHY and Protocol 1、Frame Structure 2、Numerology 3、Waveform 4、Frequency Band 5、BWP 6、Synchronization 7、Beam Management 8、CSI Fra…

FiftyOne 系列教程(2)使用FiftyOne读取数据集

1. 支持的数据集 1.1. 支持各种常见的数据集格式 docs.voxel51.com/user guide/dataset creation/datasets.html#supported import formats此外,zoo上面有什么数据集,这里就可以加载到对应的数据集Available Zoo Datasets — FiftyOne 0.20.1 document…

nacos服务端源码集群同步源码分析

nacos集群状态同步源码分析 ServerStatusReporter ServerStatusReporter 是 ServerListManager的内部类 通过Component注解被解析到spring容器中 再通过PostConstruct初始化执行init方法 上边代码启动了一个延时2秒的线程 private class ServerStatusReporter implements Run…

微软限制我们使用Windows系统了,怎么办?

正如中国工程院院士倪光南所说,操作系统的成功与否,关键在于生态系统,需要搭建起完整的产业链上各个主体共生的生态体系。 当前我国国产操作系统市场发展很快,相比技术和市场突破,真正需要解决的问题是如何把生态建好…

阿里云无影云桌面(使用测评)

阿里云试用链接 https://click.aliyun.com/m/1000371700/ 一:无影云桌面简介: 阿里云无影云桌面是一款基于云计算技术的云桌面解决方案,它可以将用户的个人电脑、笔记本电脑等设备上的操作系统和应用程序等资源转移到云端,并通过…

多表联查及mybatis中@Results,@ResultMap注解的应用

在实际的项目中,为了保证数据的简洁和查询的效率,通常会到采用多表联查。 那么什么是多表联查呢? 一般查询语句都是针对一个表的,但是在关系型数据库中,表与表之间是有联系的,所以在实际应用中&#xff0…

【软件测试】未来软件测试必备的八大技能!你缺少哪个?

软件测试工程师是个神奇的职业,他是开发人员与老板之间的传话筒(三夹板),也是开发人员与老板的好帮手; 他不仅需要有销售的沟通能力,也需要具备编辑人员的文档撰写技巧。如此一个面面俱到的岗位&#xff0…

数据在 Mocaverse 项目启动过程中是如何发挥作用的

日期:2023年5月 数据源: Mocaverse Realm Ticket Collection Airdrop & Mocaverse Optimizes an NFT Project at Launch & Beyond NFT 是 Web3 社区的基础。它们是区块链游戏、DAO 和 metaverses 的入场券,以及成为社区参与者的数字…

华为新模拟器eNSPLite下载,部署教程及产品使用文档

华为新模拟器eNSPLite下载,部署教程及产品使用文档 如需下载请到我的博客中下载 硬件要求 数通培训认证模拟器支持在个人PC和物理服务器上部署安装,如下所示。 硬件推荐配置CPUX86_64架构CPU,支持VT-x/AMD-V 8核或以上RAM16G或以上DISK40G以…

计算机基础知识之字符编码

目录 1、基础知识2、ASCII编码3、编码格式4、多字节字符集(MBCS)和中文字符集5、ANSI 标准、国家标准、 ISO 标准6、Unicode 编码7、 UTF-8编码 1、基础知识 👉字符:是各种文字和符号的总称,包括各个国家的文字&#…

开心档之Java 基本数据类型

Java 基本数据类型 目录 Java 基本数据类型 内置数据类型 实例 实例 类型默认值 实例 引用类型 Java 常量 自动类型转换 自动类型转换 实例 强制类型转换 实例 隐含强制类型转换 变量就是申请内存来存储值。也就是说,当创建变量的时候,需…

chat中文国内版软件开发

如果要开发中文国内版的Chat软件,可能会包括以下一些功能: 中文自然语言处理:对于中文文本,需要进行中文自然语言处理,包括分词、词性标注、命名实体识别、情感分析等。 智能问答和对话系统:开发智…