【MySQL】检索数据使用数据处理函数
函数
与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。
函数没有SQL的可移植性强:能运行在多个系统上的代码称为可移植的。多数SQL语句是可移植的,而函数的可移植性不强。几乎每种主要的DBMS的实现都支持其他实现不支持的函数,而且有时差异很大。
如果要使用函数,最重要的就是写好注释。
1.文本处理函数
使用Upper()函数,将文本转换为大写
示例:在表user中寻找name行,并将name转换为大写放到name_upcase列中
输入:select name,Upper(name) as name_upcase from user;
输出:

2.常用的文本处理函数
| Left() | 返回串左边的字符 |
| Length() | 返回串的长度 |
| Locate() | 找出串的一个子串 |
| Lower() | 将串转化为小写 |
| Ltrim() | 去掉串左边的空格 |
| Right() | 返回串右边的字符 |
| Rtrim() | 去掉串右边的字符 |
| Soundex() | 返回串的SOUNDEX值 |
| SubString() | 返回子串的字符 |
| Upper() | 将串转为大写 |
补充:SOUNDEX是一个将任何文本串转换为描述其语言表示的字母数字模式的算法。使得能对串进行发音比较而不是字母比较。
示例:利用soundex()函数找出与“Y.lee”发音相似的name和id
输入: select id,name from user where Soundex(name) = Soundex('Y.lie');
输出:
3.日期和时间处理函数
日期和时间采用相应的数据类型和特殊的格式存储,以便能快速和有效地排序或过滤,并且节省物理存储空间。
一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取、统计和处理这些值。
下表是常用的日期和时间处理函数:
| 函 数 | 说明 |
| AddDate() | 增加一个日期(天、周等) |
| AddTime() | 增加一个时间(时、分等) |
| CurDate() | 返回当前日期 |
| CurTime() | 返回当前时间 |
| Date() | 返回日期时间的日期部分 |
| DateDiff() | 计算两个日期之差 |
| Date_Add() | 高度灵活的日期运算函数 |
| Date_Format() | 返回一个格式化的日期或时间串 |
| Day() | 返回一个日期的天数部分 |
| DayOfWeek() | 对于一个日期,返回对应的星期几 |
| Hour() | 返回一个时间的小时部分 |
| Minute() | 返回一个时间的分钟部分 |
| Month() | 返回一个日期的月份部分 |
| Now() | 返回当前日期和时间 |
| Second() | 返回一个时间的秒部分 |
| Time() | 返回一个日期时间的时间部分 |
| Year() | 返回一个日期的年份部分 |
注意:无论什么时候指定一个日期,不管是插入或是更新表值还是用where子句进行过滤,日期的格式必须是yyyy-mm-dd。应该总是使用四位数字的年份。
示例:在t_accont表中寻找时间在“2023-08-03 14:05:38”的name和startDate行
输入:select startDate,name from t_account where startDate = '2023-08-03 14:05:38';
输出:

假如并不知道日期的具体时间,可以使用Date()函数将时间(00:00:00)过滤掉
示例:
输入: select startDate,name from t_account where date(startDate) = '2023-08-03';
输出:

注意:当自己只想要日期时可以使用Date()函数,但是如果想要时间的话,也可以使用Time()函数。
如果想要检测出一个日期范围内的数据,可以使用BETWEEN操作符
示例:在t_account表中找到在2023-05-03' 和 '2023-05-30之间的id和name和startDate行
输入:select id,name,startDate
from t_account
where date(startDate) between '2023-05-03' and '2023-05-30';
输出:

还有一种方法是Year()函数,它可以不用关心是否是闰年或者每个月有多少天这样的问题。
Year()从日期中返回年份,Month()从日期中返回月份
示例:
输入:select id,name,startDate
from t_account
where year(startDate) = 2023 and month(startDate) = 5;
输出:

4.数值处理函数
数值处理函数仅处理数值数据,一般用于代数、三角或几何运算。数值函数是最一致最统一的函数。
常用数值处理函数:
| 函数 | 说明 |
| Abs() | 返回一个数的绝对值 |
| Cos() | 返回一个角度的余弦 |
| Exp() | 返回一个数的指数值 |
| Mod() | 返回除操作的余数 |
| Pi() | 返回圆周率 |
| Rand() | 返回一个随机数 |
| Sin() | 返回一个角度的正弦 |
| Sqrt() | 返回一个数的平方根 |
| Tan() | 返回一个角度的正切 |
相关文章:
【MySQL】检索数据使用数据处理函数
函数 与其他大多数计算机语言一样,SQL支持利用函数来处理数据。函数一般是在数据上执行的,它给数据的转换和处理提供了方便。 函数没有SQL的可移植性强:能运行在多个系统上的代码称为可移植的。多数SQL语句是可移植的,而函数的可…...
【嵌入式学习笔记】嵌入式入门6——定时器TIMER
1.定时器概述 1.1.软件定时原理 使用纯软件(CPU死等)的方式实现定时(延时)功能有诸多缺点,如CPU死等、延时不精准。 void delay_us(uint32_t us) {us * 72;while(us--); }1.2.定时器定时原理 使用精准的时基&#…...
GD32F103输入捕获
GD32F103输入捕获程序,经过多次测试,终于完成了。本程序将TIMER2_CH2通道映射到PB0引脚,捕获PB0引脚低电平脉冲时间宽度。PB0是一个按钮,第1次按下采集一个值保存到TIMER2_CountValue1中,第2次按下采集一个值保存到TIM…...
[RT-Thread]基于ARTPI的文件系统认识与搭建
[写作为了记忆,个人最终输出的内容往往是遗忘后最容易捡起的内容,故以此作文] 目录 [写作为了记忆,个人最终输出的内容往往是遗忘后最容易捡起的内容,故以此作文] 前提 内容 认识 基于ARTPI的文件系统的挂载 ROMFS与LFS. (默认自动挂载,romfs可读不可写) 搭…...
动态规划+二分查找
题目描述:给定一个区间数组,[[1,2,3],[3,4,2],[2,4,4]],每个区间有价值,求在获取k个区间的条件下面,求获得的最大的价值,关键是dp的定义和二分查找的写法(小于tar额最右下标) import…...
8.2小非农ADP数据来袭黄金将会如何表现?
近期有哪些消息面影响黄金走势?黄金多空该如何研判? 黄金消息面解析: 周二(8月1日)现货黄金价格回落,原因是美元指数升创7月10日以来新高至102.43.美联储官员乐观言论夯实美国经济软着陆预期。此外,中国刺激措施将…...
linux启动oracle
一、启动方法 方法1: Sql代码 cd $ORACLE_HOME/bin #进入到oracle的安装目录 ./dbstart #重启服务器 ./lsnrctl start #重启监听器 ----------------------------------- 方法2: (1) 以oracle身份登录数据库&am…...
AssetBundleBrowser导入报错解决方案
第一次导入AssetBundleBrowser遇到报错有 Assets\Scenes\AssetBundles-Browser-master\AssetBundles-Browser-master\Tests\Editor\ABModelTests.cs(13,7): error CS0246: The type or namespace name Boo could not be found (are you missing a using directive or an assem…...
vue-baidu-map-3x 使用记录
在 Vue3 TypeScript 项目中,为了采用 标签组件 的方式,使用百度地图组件,冲浪发现了一个开源库 ovo,很方便!喜欢的朋友记得帮 原作者 点下 star ~ vue-baidu-map-3xbaidu-map的vue3/vue2版本(支持v2.0、v…...
《GPU并行计算与CUDA编程》笔记
第一个GPU程序 #include <stdio.h>__global__ void square(float* d_out,float* d_in){int idx threadIdx.x;float f d_in[idx];d_out[idx] f * f; }int main(int argc,char** argv){const int ARRAY_SIZE 8;const int ARRAY_BYTES ARRAY_SIZE * sizeof(float);// …...
Shell编程基础(十二)函数
函数 概念定义调用函数综合脚本 概念 和其他编程语言一样,函数作为一种封装代码块,以提高代码复用性和可维护性的存在。 记住一点,先定义,再使用 定义 shell 函数的创建方式 function 函数名 空格{ xxxx return 返回码&#x…...
【雕爷学编程】MicroPython动手做(33)——物联网之天气预报3
天气(自然现象) 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象,即某瞬时内大气中各种气象要素(如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等ÿ…...
Screens 4 for mac VNC客户端 强大的远程控制工具
Screens 4 for Mac 是一款功能强大的 VNC 客户端软件,为 Mac 用户提供了便捷的远程访问和控制解决方案。无论您是需要远程管理服务器、办公电脑,还是需要远程协助他人解决问题,Screens 4 都是您的理想选择。 Screens 4 for Mac具备简洁直观的…...
搜索与图论(三)
一、最小生成树 1.1Prim算法 朴素版Prim 一般用于稠密图 算法流程: 集合表示当前已经在连通块的点 1.初始化距离,把所有距离都初始化为正无穷 2.n次迭代,找到集合外距离最小的点 ->t 3.用t来更新其它点到集合的距离 #include<iostream> #include&…...
阿里云“通义千问”开源,可免费商用
我是卢松松,点点上面的头像,欢迎关注我哦! 阿里云成为国内首个加入大模型开源行列的大型科技企业。就在昨天,阿里云公开表态,把自家的通义千问大模型开源。 阿里云把通用70亿参数模型,包括Qwen-7B和对话模…...
23.7.31 牛客暑期多校5部分题解
E - Red and Blue and Green 题目大意 构造一个长度为 n n n 的序列,满足 m m m 个条件,每个条件包含三个数 l , r , w l,\space r,\space w l, r, w,表示区间左端点,区间右端点,这个区间的逆序对数的奇偶性&…...
Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块
1. requests 模块post 函数 1.1 post 函数的参数 (简单版) 参数1: url 网络地址 参数2: data 请求数据 (一般数据是 账号,密码) 参数3: headers 头请求 (…...
客户流失分析预测案例 -- 机器学习项目基础篇(7)
客户流失 它是指现有的客户、用户、订阅者或任何类型的回头客停止与公司开展业务或结束与公司的关系。 客户流失的类型 合同客户流失:当客户签订了服务合同并决定取消服务时,例如有线电视,SaaS。自愿流失:当用户自愿取消服务时…...
uniapp中我使用uni.navigateTo跳转webview页面传参,但是接收的参数只有一半。
在uniapp中使用uni.navigateTo跳转webview页面传参时,可能会遇到接收的参数只有一半的情况。这可能是因为在跳转时,url的长度超过了限制。为了解决这个问题,可以使用encodeURIComponent和decodeURIComponent进行编码和解码。 具体的解决办法…...
使用kaminari,在列表页实现分页功能
安装 1. bundller 大于1的话,可以使用这个版本 gem install kaminari -v 0.16.3 或者 gem kaminari 2. 使用命令: $ bundle install 3. 然后使用这个命令可以创建一个config文件 $ rails g kaminari:config 4. 重新启动服务器 bundle exec rail…...
OpenClaw压力测试:Qwen3-32B在RTX4090D上的连续任务稳定性
OpenClaw压力测试:Qwen3-32B在RTX4090D上的连续任务稳定性 1. 测试背景与目标 上周在本地部署了OpenClaw对接Qwen3-32B模型后,我遇到了一个现实问题:当连续执行复杂任务链时,系统会在运行2-3小时后突然崩溃。作为需要724小时运行…...
OpenClaw技能开发指南:为SecGPT-14B定制专属安全检测模块
OpenClaw技能开发指南:为SecGPT-14B定制专属安全检测模块 1. 为什么需要为SecGPT-14B开发OpenClaw技能? 去年我在做安全审计时,经常需要手动将二进制文件上传到不同检测平台,再人工整理漏洞报告。这种重复劳动让我开始思考&…...
探索拖火车混合A星路径规划算法
拖火车混合a星路径规划算法 在路径规划领域,各种算法层出不穷,今天咱就唠唠拖火车混合A星路径规划算法。这算法融合了传统A星算法的优势,并针对特定场景进行了创新,就像是给A星算法穿上了特制的“战衣”,以应对更复杂…...
工程 / 计算机 / 电子领域 EI 会议推荐:2026 年学术会议精选(EI稳定检索 + 权威出版)【4-5月新推】
对于工程、计算机、电子领域学者而言,EI 会议是快速发表成果、满足毕业 / 结题 / 评奖需求的核心渠道。优质会议需满足:IEEE/SAE/JPCS 等权威出版、往届稳定 EI Compendex 检索、主题匹配度高、截稿时间友好。以下精选 2026 年可投、高含金量会议&#x…...
expected_conditions(EC)与元素相关的常用方法
与元素(Element)相关的 expected_conditions,分为存在、可见、可点击、不可见/消失、属性/文本、选中状态等几类引用:from selenium.webdriver.support import expected_conditions as EC1. 元素存在(Presence…...
前端测试吐槽:别再写那些没用的测试了!
前端测试吐槽:别再写那些没用的测试了! 毒舌时刻 前端测试就像体检——每个人都知道要做,但真正认真做的没几个。Jest、React Testing Library、Cypress... 一堆测试工具让你挑花了眼,结果你的测试还是写得像一坨屎。 我就想不明白…...
齿轮基础参数
基于传统势能法含裂纹斜齿轮时变啮合刚度(裂纹斜齿轮),代码保证运行无问题,出图效果如页面简介齿轮传动系统里最怕遇到啥?裂纹呗!尤其是斜齿轮这种接触线斜着走的家伙,一旦出现裂纹整个时变刚度曲线直接抽风…...
Comsol光子晶体光纤模式分析之FSM Mode计算
Comsol光子晶体光纤模式分析,fsm mode计算在光学领域,光子晶体光纤以其独特的光学特性吸引着众多研究者的目光。而在对光子晶体光纤进行深入研究时,模式分析是至关重要的一环,其中FSM(Full Vectorial Finite Element M…...
水厂供水泵房自控案例(工程实际在用) PLC程序+触摸屏程序+组态软件程序+图纸
水厂供水泵房自控案例(工程实际在用) PLC程序触摸屏程序组态软件程序图纸;凌晨三点,水厂中控室的警报突然炸响。我盯着屏幕上跳动的压力曲线,右手已经摸到了对讲机——这种情况在供水泵房太常见了。今天要聊的自控系统,可是我们项…...
研究表明:员工不懂AI使用方法,企业难辞其咎
员工对AI工具使用方法缺乏了解,这与企业在试点项目、部署和许可证上投入多少资金无关,Forrester的最新研究显示了这一问题。Forrester使用人工智能商数(AIQ)来衡量员工对AI工具的理解程度,结果数据"令人震惊"…...
