当前位置: 首页 > news >正文

【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编程基础(十二)函数

函数 概念定义调用函数综合脚本 概念 和其他编程语言一样&#xff0c;函数作为一种封装代码块&#xff0c;以提高代码复用性和可维护性的存在。 记住一点&#xff0c;先定义&#xff0c;再使用 定义 shell 函数的创建方式 function 函数名 空格{ xxxx return 返回码&#x…...

【雕爷学编程】MicroPython动手做(33)——物联网之天气预报3

天气&#xff08;自然现象&#xff09; 是指某一个地区距离地表较近的大气层在短时间内的具体状态。而天气现象则是指发生在大气中的各种自然现象&#xff0c;即某瞬时内大气中各种气象要素&#xff08;如气温、气压、湿度、风、云、雾、雨、闪、雪、霜、雷、雹、霾等&#xff…...

Screens 4 for mac VNC客户端 强大的远程控制工具

Screens 4 for Mac 是一款功能强大的 VNC 客户端软件&#xff0c;为 Mac 用户提供了便捷的远程访问和控制解决方案。无论您是需要远程管理服务器、办公电脑&#xff0c;还是需要远程协助他人解决问题&#xff0c;Screens 4 都是您的理想选择。 Screens 4 for Mac具备简洁直观的…...

搜索与图论(三)

一、最小生成树 1.1Prim算法 朴素版Prim 一般用于稠密图 算法流程: 集合表示当前已经在连通块的点 1.初始化距离&#xff0c;把所有距离都初始化为正无穷 2.n次迭代,找到集合外距离最小的点 ->t 3.用t来更新其它点到集合的距离 #include<iostream> #include&…...

阿里云“通义千问”开源,可免费商用

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 阿里云成为国内首个加入大模型开源行列的大型科技企业。就在昨天&#xff0c;阿里云公开表态&#xff0c;把自家的通义千问大模型开源。 阿里云把通用70亿参数模型&#xff0c;包括Qwen-7B和对话模…...

23.7.31 牛客暑期多校5部分题解

E - Red and Blue and Green 题目大意 构造一个长度为 n n n 的序列&#xff0c;满足 m m m 个条件&#xff0c;每个条件包含三个数 l , r , w l,\space r,\space w l, r, w&#xff0c;表示区间左端点&#xff0c;区间右端点&#xff0c;这个区间的逆序对数的奇偶性&…...

Python爬虫的学习day02 requests 模块post 函数, lmxl 模块的 etree 模块

1. requests 模块post 函数 1.1 post 函数的参数 &#xff08;简单版&#xff09; 参数1&#xff1a; url 网络地址 参数2&#xff1a; data 请求数据 &#xff08;一般数据是 账号&#xff0c;密码&#xff09; 参数3&#xff1a; headers 头请求 &#xff08…...

客户流失分析预测案例 -- 机器学习项目基础篇(7)

客户流失 它是指现有的客户、用户、订阅者或任何类型的回头客停止与公司开展业务或结束与公司的关系。 客户流失的类型 合同客户流失&#xff1a;当客户签订了服务合同并决定取消服务时&#xff0c;例如有线电视&#xff0c;SaaS。自愿流失&#xff1a;当用户自愿取消服务时…...

uniapp中我使用uni.navigateTo跳转webview页面传参,但是接收的参数只有一半。

在uniapp中使用uni.navigateTo跳转webview页面传参时&#xff0c;可能会遇到接收的参数只有一半的情况。这可能是因为在跳转时&#xff0c;url的长度超过了限制。为了解决这个问题&#xff0c;可以使用encodeURIComponent和decodeURIComponent进行编码和解码。 具体的解决办法…...

使用kaminari,在列表页实现分页功能

安装 1. bundller 大于1的话&#xff0c;可以使用这个版本 gem install kaminari -v 0.16.3 或者 gem kaminari 2. 使用命令&#xff1a; $ bundle install 3. 然后使用这个命令可以创建一个config文件 $ rails g kaminari:config 4. 重新启动服务器 bundle exec rail…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言&#xff1a; 最近在做行为检测相关的模型&#xff0c;用的是时空图卷积网络&#xff08;STGCN&#xff09;&#xff0c;但原有kinetic-400数据集数据质量较低&#xff0c;需要进行细粒度的标注&#xff0c;同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面&#xff0c;gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress&#xff0c;说明目标所使用的cms是wordpress&#xff0c;访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...