七.MySQL内置函数

article/2025/7/28 16:46:16

1.日期函数

MySQL 日期与时间函数对照表
函数名称描述
current_date()当前日期(格式:YYYY-MM-DD)
current_time()当前时间(格式:HH:MM:SS)
current_timestamp()当前日期和时间(等同于 now()
now()当前日期和时间
date(datetime)提取 datetime 值中的日期部分
date_add(date, interval N unit)给日期加上指定时间间隔(如天、年等)
date_sub(date, interval N unit)从日期中减去指定时间间隔
datediff(date1, date2)计算两个日期之间的差值(以天为单位)

date_adddate_sub 的常用单位包括:

  • year

  • month

  • day

  • hour

  • minute

  • second

查询插入3分钟内插入的数据  

select * from t_time where date_add(createtime,interval 3 minute)>now();

2.字符串函数

mysql 常用字符串函数总表
函数含义或功能示例
charset(str)返回字符串的字符集select charset(ename) from emp;
concat(str1, str2, …)拼接字符串select concat(name, '是学生') from student;
instr(str, substr)查找子串出现位置(从 1 开始,找不到返回 0)select instr('mysql', 'sql');3
ucase(str) / upper(str)转大写select ucase('hello');'HELLO'
lcase(str) / lower(str)转小写select lcase('HELLO');'hello'
left(str, n)从左边截取 n 个字符select left('hello', 2);'he'
right(str, n)从右边截取 n 个字符select right('hello', 2);'lo'
length(str)返回 字节长度(视字符集,中文占多字节)select length('中国');(utf8下)→ 6
replace(str, from_str, to_str)替换字符串中的部分select replace(ename, 's', '上海') from emp; s全部换上海
strcmp(str1, str2)比较两个字符串大小(按 ascii 排序)返回值 =0 左>右1 左<右-1select strcmp('abc', 'bcd');-1 
substring(str, pos, len)从 str 的第pos个字符起,取 len 个字符select substring(ename, 2, 2) from emp;
ltrim(str)去除左侧空格select ltrim(' hello');'hello'
rtrim(str)去除右侧空格select rtrim('hello ');'hello'
trim(str)去除左右两端空格select trim(' hello ');'hello'

1.charset 获取表中列的字符集

2.concat 将一行信息输出成一行字符串

3.length 显示字段占用的字节数

4.replace 替换字符串中的部分字符

5.substring截取字符串中的部分字符

substring(str, pos, len) pos代表第几个字符  不是下标 

从第0个字符开始 非法

6.隐藏名字

replace() 把名字替换为*

7.以首字母小写方式显示员工姓名

1.substring 把首字母 和 其它字母分开

2.lcase 把大写首字母改为小写

3.concat 拼接起来

3.数学函数

函数名功能说明示例语句示例结果
abs(number)绝对值函数select abs(-100.2);100.2
ceiling(number)向上取整select ceiling(23.04);24
floor(number)向下取整select floor(23.7);23
format(number, decimal_places)保留小数位(四舍五入)select format(12.3456, 2);'12.35'(字符串)
rand()生成 [0,1) 之间随机数select rand();0.73892(浮点)
mod(number, denominator)取模(求余)select mod(10, 3);1
bin(decimal_number)转为二进制select bin(10);'1010'
hex(decimal_number)转为十六进制select hex(255);'FF'
conv(number, from, to)进制转换select conv('A', 16, 10);'10'

rand()生成[0,1)之间是随机数,想生成其它范围的数字呢?

生成[a,b]的随机整数

floor(rand() * (b - a + 1)) + a

        eg.rand() [0,1) rand()*101 [0,101)

        0~100:select foolr(rand()*101) 向下取整 [0,1)=0 [1,2)=1 ... [99,100)=99 [100,101)=100

可以用ceiling向上取整吗?ceiling(rand()*100) 

能出现[0,100]的数字,但只有当rand()==0时才为0,0~100的整数出现的概率不均。

1.abs()绝对值

2.ceiling()向上取整 

往大的取

3.floor()向下取整

4.hex()转16进制

5.bin()转二进制

6.conv(值,原进制,目标进制)

4.其它函数

函数名作用说明示例返回值示例
user()返回当前连接的 MySQL 用户select user();'root@localhost'
database()返回当前使用中的数据库名称select database();'test'(若未选中数据库则返回 null)
md5(str)对字符串进行 MD5 摘要加密(32位小写十六进制)select md5('admin');'21232f297a57a5a743894a0e4a801fc3'
password(str)MySQL 内部使用的加密函数(主要用于授权验证)select password('root');'*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B'
ifnull(val1, val2)如果 val1 为 null,返回 val2;否则返回 val1select ifnull(null, '123');'123'
select ifnull('abc', '123');'abc'
函数作用就像是...你能干嘛用?能不能用在业务里推荐吗?小白级解释
md5()把原文压成一段“身份证号”加密密码、接口签名、文件校验、隐藏手机号等✅ 可以✅ 推荐给一段内容打一串 唯一指纹
password()MySQL 系统内部自己用的小保险箱钥匙MySQL 系统登录密码用,不给你看、不给你用❌ 不行❌ 不推荐只给 MySQL 自己看的加密结果

md5()把里面字符串加密成固定长度32位的新字符串,这个新字符串不能还原成原字符串,但只要原字符串相同加密后的新字符串也相同,用来隐藏原始数据 校验密码是否正确。

ifnull(val1,val2) 就相当于 val1==null?val2:val1;

练习

查找字符串中逗号出现的次数_牛客题霸_牛客网

把字符串的 , 改为空,用原字符串长度 - 去掉 ,字符串的长度


http://www.hkcw.cn/article/NnCXsQALBe.shtml

相关文章

神经网络与Transformer详解

1. 一个模型的典型场景 对用户咨询的法律问题做自动归类: 婚姻纠纷、劳动纠纷、合同纠纷、债权债务、房产纠纷、交通事故、医疗纠纷、版权纠纷 2. 模型就是一个数学公式 我们一般将这样的问题描述为:给定一组输入数据,经过一系列数学公式计算后,输出n个概率,分别代表该…

《Python基础》第2期:环境搭建

在开始编写 Python 代码前&#xff0c;还需要搭建 Python 的开发环境。 电脑是没办法直接读懂 Python 代码的&#xff0c;而是需要一个解释器&#xff0c;实时把代码翻译成字节码&#xff0c;字节码再转换成 0 和 1&#xff0c;电脑就能读懂了。 Python 的运行过程就是翻译一行…

多线程——定时任务ScheduledThreadPoolExecutor用法

创建 同样是用Executors工具类&#xff1a; 创建定时任务线程池 还有一个重载方法 接收一个额外的参数&#xff1a;线程工厂 创建单个定时任务执行器&#xff1a; 重载&#xff1a;也接收一个线程工厂 区别说明 singleThread&#xff1a; 这里可以new, 说明他是一个类 传…

AI 代理框架:使用正确的工具构建更智能的系统

AI 代理框架&#xff1a;使用正确的工具构建更智能的系统 探索 AI 代理框架如何支持从单代理设置到复杂的多代理编排的自主工作流。了解它们有何不同、何时使用它们以及如何开始使用实际工具。 AI 代理框架 从本质上讲&#xff0c;AI 代理是可以感知、计划和行动的程序。它们旨…

计算机网络 TCP篇常见面试题总结

目录 TCP 的三次握手与四次挥手详解 1. 三次握手&#xff08;Three-Way Handshake&#xff09; 2. 四次挥手&#xff08;Four-Way Handshake&#xff09; TCP 为什么可靠&#xff1f; 1. 序列号与确认应答&#xff08;ACK&#xff09; 2. 超时重传&#xff08;Retransmis…

系统架构设计师(一):计算机系统基础知识

系统架构设计师&#xff08;一&#xff09;&#xff1a;计算机系统基础知识 引言计算机系统概述计算机硬件处理器处理器指令集常见处理器 存储器总线总线性能指标总线分类按照总线在计算机中所处的位置划分按照连接方式分类按照功能分类 接口接口分类 计算机软件文件系统文件类…

软件无线电关键技术之正交调制技术

与传统调制方式相比&#xff0c;IQ 调制不直接对相位或频率调制&#xff0c;而是简单的对载波及其正交量进行线性调制&#xff0c;进而达到相位或频率调制的效果。IQ 调制具有较高的数据传输速率&#xff0c;高频带利用率&#xff0c;可有效抑制镜频边带以及易于实现等优势&…

comfyui利用 SkyReels-V2直接生成长视频本地部署问题总结 1

在通过桌面版comfyUI 安装ComfyUI-WanVideoWrapper 进行SkyReels-V2 生成长视频的过程中&#xff0c;出现了&#xff0c;很多错误。 总结一下&#xff0c;让大家少走点弯路 下面是基于搜索结果的 ComfyUI 本地部署 SkyReels-V2 实现长视频生成的完整指南&#xff0c;涵盖环境配…

性能优化 - 案例篇:缓存

文章目录 Pre引言1. 缓存基本概念2. Guava 的 LoadingCache2.1 引入依赖与初始化2.2 手动 put 与自动加载&#xff08;CacheLoader&#xff09;2.2.1 示例代码 2.3 缓存移除与监听&#xff08;invalidate removalListener&#xff09; 3. 缓存回收策略3.1 基于容量的回收&…

高速串行通信解惑说明

什么是逗号检测&#xff1f; 逗号检测&#xff0c;就是gt在发送数据的时候&#xff0c;一直在发送。这个时候使用一个标识符将数据隔开&#xff0c;用来对齐数据。&#xff08;类似人说明的停顿或者写文章中的标点符号&#xff09;逗号的两个作用&#xff0c;一个是将数据包隔…

724.寻找数组的中心下标前缀和

题目链接&#xff1a; https://leetcode.cn/problems/find-pivot-index/ 这道题目我们可以使用暴力解法&#xff0c;就一个下标前数组之和&#xff0c;再求一个下标后数组之和&#xff0c;时间复杂度达到n方&#xff0c;我们来写一下&#xff1a; int pivotIndex(vector<in…

Python----目标检测(《SSD: Single Shot MultiBox Detector》论文和SSD的原理与网络结构)

一、SSD&#xff1a;单次多框检测器 1.1、基本信息 标题&#xff1a;SSD: Single Shot MultiBox Detector 作者&#xff1a;Wei Liu (UNC Chapel Hill), Dragomir Anguelov (Zoox Inc.), Dumitru Erhan, Christian Szegedy (Google Inc.), Scott Reed (University of Michiga…

[Windows]在Win上安装bash和zsh - 一个脚本搞定

目录 前言安装步骤配置要求下载安装脚本启动程序 前言 Windows是一个很流行的系统, 但是在Windows上安装bash和zsh一直是一个让人头疼的问题. 本蛙特意打包了一个程序, 用于一站式解决这一类的问题. 安装步骤 配置要求 系统: Windows软件: Powershell 5.1或以上 下载安装…

从0开始学习R语言--Day13--混合效应与生存分析

混合效应模型&#xff08;Mixed Effects Model&#xff09; 对于数据来说&#xff0c;我们通常把所有样本共有的影响因素&#xff08;性别&#xff0c;实验处理&#xff0c;实验方法&#xff09;&#xff0c;这种可以推广到总体的叫做固有效应&#xff0c;而仅适用于特定分组的…

【前端】javascript和Vue面试八股

面试暂时没有遇到过考这么深的&#xff0c;一般还是问一些生命周期和性能相关。 Q&#xff1a;什么情况下“ a 1 && a 2 && a 3 ”同时成立 A&#xff1a;对象的valueOf与toString方法&#xff1a;当一个对象与一个原始值&#xff08;如数字&#xff09;进…

某航后缀混淆逆向与顶像风控分析

文章目录 1. 写在前面2. 接口分析3. 加密分析4. 风控分析 【&#x1f3e0;作者主页】&#xff1a;吴秋霖 【&#x1f4bc;作者介绍】&#xff1a;擅长爬虫与JS加密逆向分析&#xff01;Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致…

【PostgreSQL 05】PostgreSQL扩展开发实战:从自定义函数到插件开发的完整指南

PostgreSQL扩展开发实战&#xff1a;从自定义函数到插件开发的完整指南 关键词&#xff1a; PostgreSQL扩展开发、自定义函数、插件开发、C语言扩展、SQL函数、存储过程、数据库扩展、PostgreSQL插件、PGXS、CREATE EXTENSION 摘要&#xff1a; 想让PostgreSQL拥有独特的超能力…

家政维修平台实战11搭建服务规格

目前首页的功能我们已经搭建好了&#xff0c;当用户点击某个服务内容的时候要跳转到详情页&#xff0c;详情页需要展示服务的各类信息&#xff0c;难点是在规格切换的时候价格也要跟上有变化。 在数据源设计部分我们还没有考虑规格的问题&#xff0c;本篇我们介绍一下服务规格…

【创新实训个人博客】实现了新的前端界面

我们的项目还需要ppt展示和文案展示 实现了新的html页面 对接口进行测试示例 启动app.py和aippt部分 使用postman发送请求测试大模型api 后端命令行返回

使用lighttpd和开发板进行交互

文章目录 &#x1f9e0; 一、Lighttpd 与开发板的交互原理1. 什么是 Lighttpd&#xff1f;2. 与开发板交互的方式&#xff1f; &#x1f9fe; 二、lighttpd.conf 配置文件讲解⚠️ 注意事项&#xff1a; &#x1f4c1; 三、目录结构说明&#x1f4a1; 四、使用 C 编写 CGI 脚本…