05mysql---函数

news2024/12/28 22:07:48

目录

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.coloradmin.cn/o/536827.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【简介】限流

限流 为什么要限流限流算法单机限流计数器算法滑动窗口算法漏桶算法令牌桶算法 分布式限流配额算法 限流策略限流位置 为什么要限流 作为有追求的程序员,我们都希望自己的系统跑的飞快,但是速度再快,系统处理请求耗时也不可能为0&#xff0c…

线程池下载4K壁纸

学习记录 学习记录 一、目标 aHR0cHM6Ly9waWMubmV0Ymlhbi5jb20vDQo 拿到每张图片的href 和 标题,跳转到详情页进行图片下载地址的提取并请求实现图片本地下载 二、代码实现 """ CSDN: 抄代码抄错的小牛马 mailbox:yxhlhm2002163.com…

计算机毕业论文内容参考|基于java的房产营销系统的设计与实现

文章目录 导文摘要前言绪论课题背景课题内容相关技术与方法介绍技术分析技术设计技术实现总结与展望本文总结后续工作展望导文 计算机毕业论文内容参考|基于java的房产营销系统的设计与实现 摘要 当今社会,随着经济的快速发展和人们对生活品质的不断提高,房地产行业正在面临…

Java --- docker安装redis

目录 一、拉取redis容器镜像 二、新建目录 三、拷贝redis.conf文件模板进/app/redis目录 四、修改redis.conf文件 五、启动redis镜像服务 一、拉取redis容器镜像 docker pull redis:7.0.0 二、新建目录 mkdir -p /app/redis 三、拷贝redis.conf文件模板进/app/redis目录 cp …

Java面试(4)面向对象

文章目录 概念1. 面向对象和面向过程的区别2. 面向对象三大特征 类1. 接口和抽象类有什么共同点和区别?2. 深拷贝和浅拷贝区别了解吗?什么是引用拷贝?3. 内部类1. 内部类2. 内部类的优点3. 内部类有哪些应用场景4. 局部内部类和匿名内部类访问…

python 3.8 + tensorflow 2.4.0 + cuda11.0 的问题

版本匹配 🔗从源代码构建 | TensorFlow 报错:Could not load dynamic library ‘cupti64_110.dll’; dlerror: cupti64_110.dll not found 是因为我电脑中的 cuda 版本以前是 10,现在是 11.4 ,所以需要安装对应版本的 cudatoolk…

基于粒子群算法的微网经济优化调度——附Matalb代码

目录 摘要: 代码主要内容: 研究背景: 微电网模型: 粒子群算法: 运行结果: Matlab代码分享: 摘要: 提出了一种经济与环保相协调的微电网优化调度模型,针对光伏电池…

SAP入门到放弃系列之需求管理的基本要素

需求管理目标: 一般而言,生产计划(PP)的总体目标,特别是需求管理的总体目标是通过减少以下内容来更好地为客户服务: 补货提前期存货成本 需求管理的要素: 需求管理工作的主要要素广义上可分…

2013蓝桥杯真题省赛翻硬币 C语言/C++

[蓝桥杯 2013 省 B] 翻硬币 题目背景 小明正在玩一个“翻硬币”的游戏。 题目描述 桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零),比如可能情形是 **oo***oooo,如果…

暴涨700w播放,星穹铁道恰饭频频登上B站爆款热榜!

B站作为现在年轻一代聚集的多元化社区,游戏内容则是社区内受众较为广泛的存在,而星铁作为面向年轻群体的回合制游戏,自然是赢得B站核心用户群体的青睐。 4月26日,暌违已久的手游《崩坏:星穹铁道》(后文简称…

【Java】平时开发中遇到的问题你是否遇到过?

文章目录 前言一、六类典型空指针问题1.1包装类型的空指针问题1.2 级联调用的空指针问题1.3 Equals方法左边的空指针问题1.4 ConcurrentHashMap 这样的容器不支持 Key,Value 为 null。1.5 集合,数组直接获取元素1.6 对象直接获取属性 二、日期YYYY格式设…

Linux和UNIX的关系及区别(详解)

UNIX 与 Linux 之间的关系是一个很有意思的话题。在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,可以说 UNIX 是操作系统中的"老大哥&…

Fortinet FortiNAC RCE漏洞复现(CVE-2022-39952)

0x01 产品简介 FortiNAC(Network Access Control) 是Fortinet的一种零信任网络访问控制解决方案,可增强用户对企业网络上的物联网 (IoT) 设备的监控。NAC 是零信任网络访问安全模型的重要组成部分,在该模型中,IT 团队可以轻松了解正在访问网络…

低代码让开发变得不再复杂

文章目录 前言低代码 VS 传统开发为什么选择IVX?平台比对总结 前言 在数字化的时代背景下,企业都面临巨大的数字化转型的挑战。为了应对这样的挑战,企业软件开发工具和平台也在不断革新和发展。低代码开发平台随之应运而生,成为了…

面向对象编程与面向过程编程的区别

面向过程: 以坦克飞机大战为例,如果按面向过程的思路去书写代码,则需要按如下顺序进行编码: 游戏初始化确定一台坦克的位置绘制坦克确定多架飞机的位置绘制飞机为坦克设置上下左右四个转向为坦克添加按下键盘k键发射子弹为所有飞…

ATFX国际:国内成品油价格下调,国际油价仍维持震荡态势

ATFX国际:5月16日,发改委发布成品油价格下调通知,其中提到:国内汽、柴油价格每吨分别降低380元和365元。以上海地区为例,价格下调后,每吨汽油的售价为9255元,每吨柴油的价格为8225元。经计算&am…

【容器适配器的认识与模拟】

目录: 前言一、引入二、容器适配器(一)stackdequestack模拟实现 (二)queuequeue模拟实现为什么栈和队列要使用deque (三)priority_queuepriority_queue模拟实现 总结 前言 打怪升级&#xff1a…

小程序获取用户信息实现一键登录

文章目录 旧版获取用户信息实现登录流程login页面代码个人中心页面代码全局app.vue代码下面是小程序获取用户信息最新调整的方式 温馨提示 :以下小程序登录方式只适用于2.27.1版本库以下使用 详情请看微信官方文档调整 旧版获取用户信息实现登录流程 由于我是在hbu…

公司招了一个腾讯拿30K的人,让我见识到了什么是天花板···

前言 人人都有大厂梦,对于软件测试人员来说,BAT 为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金&#…

Linux系统防火墙iptables(你委屈什么,爱而不得的又不止你一个)

文章目录 一、iptables防火墙概述1.简介2.netfilter/iptables关系3.iptables的四表五链(1)四表(2)五链 4.数据包过滤的匹配流程(1)入站(2)转发 二、iptables防火墙配置1.下载相关服务…