【数据库】MySQL内置函数

news2024/9/24 1:42:38

 本篇分享一些在MySQL中常见的一些内置函数,如日期函数,字符串函数和数学函数,以方便于操作数据库中的数据。

1.日期函数

我们先整体观察一下这些函数再讲解案例

 日期函数使用起来都非常就简单

获得年月日:

select current_date();

这里就可以获得当前的日期

获得时分秒: 

select current_time();

获得了当前的时分秒。

获得时间戳:

时间戳就是当前的日期和时间

select current_timestamp();

和他用法同样的还有

select now();

 

获取设计的日期: 

 select date('2018-10-1 00:00:00');

可以看到我们date括号内设置了年月日还有时分秒

但是运行的结果只有年月日。

同样可以以嵌套的方式使用

在日期的基础上增加日期:

先获取一个时间

在使用函数增加时间

select date_add(now(),interval 40 day);

 

我们增加了40天,可以看到函数可以根据日历来推断增加的日期。

 在日期的基础上减去时间:

select date_sub(now(),interval 40 day);

还是刚刚的时间减去四十天

 计算两个日期之间相差多少天:

select datediff('2024-9-12','2024-6-15');

使用datediff函数

可以看到返回了一个数字,相差89天。

 使用案例1:

创建一张表,记录生日

create table tmp(
 id int primary key auto_increment,
 birthday date
);

添加当前日期:

insert into tmp(birthday) values (currt_date());

可以看到表中就可以将当前的年月日添加进去了

使用案例2:

创建一个留言表,类似于刷视频或者文章时想评论的表。

创建表

reate table msg (
 id int primary key auto_increment,
 content varchar(30) not null,
 sendtime datetime
 );

再插入两条评论和当前时间

insert into msg (content,sendtime) values ( '醉里挑灯看剑',now());

insert into msg (content,sendtime) values ( '知来者之可追',now());

 这就是带有时间时间类型的表结构案例。

2.字符串函数

先浏览都有哪些字符串函数

获得编码格式:
 

select charset(string);

可以看到我们所用的编码格式时utf-8的编码格式

 

编辑的中文也同样如此。

连接字符串:

select concat(string1,string2,....);

它可以将括号内的内容转成字符串进行拼接。

返回一个字符串在另一个字符串中出现的位置: 

instr(string,substring)

 可以看到1234出现的位置在第五个位置上。

转换成大写:

ucase(string)

转换成小写:

lcase(string)

取指定长度字符 :

select left(string,lenth);

从string的左边起取length个字符

同样的使用right也是可以的

求字符串长度:

length(string);

返回的数字即为字符串的长度。

使用案例1:拼接

要求显示exam_result表中的信息,显示格式:“XXX的语文是XXX分,数学XXX分,英语XXX分”

 我们用之前的成绩表举例

我们先将表整合一下

 再使用concat将筛选出来信息连接起来。

select concat('考生姓名:',name,'总分:',chinese+math+english,'语文成绩:',chinese,'数学成绩:',math,'英语成绩:',english) msg from exam_result;

 使用案例2:求字符长度

求学生表中学生姓名占用的字节数

select name,length(name) from exam_result;

这个案例的意义是因为在Mysql中每一个汉字每一个字符,比如唐三藏每一个字都有它们对应的一个大小,一个字符就占了三个字节的大小,因为他是utf-8编码的,所以三个汉字会显示九个字节,但是字母和数字只占一个字节。 

使用案例3:替换

将EMP表中所有名字中有S的替换成'上海、

以下是案例表

之后我们使用replace函数即可替换表中的内容

select replace(ename, 'S', '上海') ,ename from EMP;

 使用案例4:截取

截取EMP表中ename字段的第二个到第三个字符

select substring(ename, 2, 2), ename from EMP;

 使用案例5:以首字母小写的方式显示所有员工的姓名

先观察表中的内容,员工姓名都为大写

 再使用substring将员工姓名的首字母和后面的字母都截取出来

sselect enam,subting(ename,1,1),substring(ename,2) from emp;

 再按题目要求转换大小写

select enam,lcase(subting(ename,1,1)),substring(ename,2) from emp;

再将两个部分做拼接 

select enam,concat(lcase(subting(ename,1,1)),substring(ename,2)) from emp;

 

至此题目的要求完成。 

3. 数学函数

数学函数的使用都较为简单,以下为使用案例

求绝对值:

select abs(-12);

十进制转换为二进制

select bin(10);

 

十进制转化为十六进制

select hex(11);

 将一个数字转换为另一个进制

conv(number,from_base,to_base)

例如将数字10,从十进制转化为二进制

或者将数字10从十进制转化为五进制

取模,求余

mod(number,denominator)

负数求余也可以

生成随机数

rand()

 rand()函数生成的随机数的区间在[0.0,1.0)之间,

那如果我们需要生成一个0到99之间的随机数,只需要乘以99就可以了

以上既是一些MySQL中常用的一些函数,希望对你有所帮助,感谢你的阅读

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

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

相关文章

LocalMamba: Visual State Space Model with Windowed Selective Scan 论文总结

题目:LocalMamba: Visual State Space Model(视觉状态空间模型) with Windowed Selective Scan(窗口化的选择扫描) 论文:[2403.09338] LocalMamba: Visual State Space Model with Windowed Selective Scan…

opencv彩色图像转灰度图原理

opencv彩色图像转灰度图原理 在OpenCV中,将彩色图像转换为灰度图像的基本原理是使用颜色空间转换的方法。具体来说,OpenCV提供了cvtColor函数,它可以将图像从一个颜色空间转换到另一个。 对于从BGR颜色空间(OpenCV中的默认彩色图…

少儿编程Scratch中秋节动画贺卡免费下载,让孩子轻松学编程

Scratch节日动画 – 中秋节动画贺卡免费下载-小虎鲸Scratch资源站 中秋佳节将至,如何让孩子在节日中既能感受到传统文化的魅力,又能学到编程知识?小虎鲸Scratch资源站特别推出了中秋节动画贺卡,不仅能让孩子通过简单的编程技巧制作…

【AI大模型】OpenAI API实现翻译助手场景

一、OpenAI简介 OpenAI,美国人工智能研究公司,是一家开放人工智能研究和部署公司,其使命是确保通用人工智能造福全人类 。创立于2015年12月,总部位于美国旧金山。现由营利性公司OpenAI LP及非营利性母公司OpenAI Inc组成。 随着2018年埃隆马…

24年云南省下半年事业单位少有人知的10个真相

云南下半年事业单位,已经确定了9月19号报名,11月2日笔试,关于下半年事业单位联考的一些考情,一次看懂: . 1⃣️专科生的岗位很多 根据过往三年的情况来看,云南下半年的事业单位考试,其实专科生有不少的岗位…

java项目之在线考试与学习交流网页平台源码(springboot)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的在线考试与学习交流网页平台。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于JAVA语言…

基于Springboot的校园防疫管理系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 1.本毕业设计(论文)课题应达到的目的: 1.1选题意义: 高校作为一种人群高度密集、人口来源地组成复杂的公共场所,一旦发生因传染病疫情导致的公共卫生安全事…

wpf触发与模板的使用示例:批量生产工具

批量生产工具 <Window x:Class"WpfM20UpdateFW.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expressio…

java项目之基于工程教育认证的计算机课程管理平台(源码+论文)

项目简介 基于工程教育认证的计算机课程管理平台的主要管理员可以管理教师&#xff0c;可以对教师信息修改删除以及查询操作&#xff1b;可以对通知公告信息进行添加&#xff0c;修改&#xff0c;删除以及查询操作&#xff1b;可以对学生信息进行添加&#xff0c;修改&#xf…

anaconda安装manim

anaconda安装manim &#xff08;安装时间2024年9月15日&#xff0c;后续版本变化再做更新&#xff09; 创建环境test 等一下我们创建一个manim项目作为试水 切换到test环境 {:height 430, :width 780} 输入以下代码 # using conda or mamba conda create -n my-manim-envi…

qt绘制时钟

代码 #include "widget.h" #include "ui_widget.h"#include <QWidget> #include <QPaintEvent> //绘图事件 #include <QDebug> //测试 #include <QPainter> //画家 #include <QPen> //笔 #include <QBrush> //画刷 …

java写s7和plc通讯

pom.xml <dependency><groupId>com.github.s7connector</groupId><artifactId>s7connector</artifactId><version>2.1</version></dependency>maven下载不了的&#xff0c;下载包&#xff0c;评论或者私自内免费给 DB212 类&a…

AI老照片修复神器,Anole下载介绍

最近AI老照片修复上色&#xff0c;再一次火出圈&#xff0c;一些社交平台关于此话题内容流量满满&#xff0c;尤其是在小红书和抖音火的不得了&#xff0c;本期文章就来给大家分享下AI修复老照片的方式方法 本文主要介绍使用Anole修复老照片的方法&#xff0c;只需输入一张黑白…

响应式CSS 媒体查询——WEB开发系列39

CSS媒体查询&#xff08;Media Queries&#xff09;是响应式设计中的核心技术之一&#xff0c;帮助我们在不同设备上展示不同的样式。通过媒体查询&#xff0c;开发者可以检测用户设备的特性&#xff0c;如屏幕宽度、高度、分辨率、方向等&#xff0c;针对性地调整网页布局。 一…

「数组」十大排序:精讲与分析(C++)

概述 截止目前&#xff0c;我们已经讲解并分析了十种最常见的排序算法&#xff0c;下附对应文章链接和全体Code。 链接 「数组」冒泡排序|选择排序|插入排序 / 及优化方案&#xff08;C&#xff09; 「数组」归并排序 / if语句优化|小区间插入优化&#xff08;C&#xff09…

使用Jlink给AT32下载程序

点击下载之后选择target device&#xff0c;这里我使用的是AT32F403ACGT7&#xff0c;M4内核&#xff0c;就选择Cortex-M4. 如果已经选过了&#xff0c;但不知道选没选对&#xff0c;就把ini文件删除即可再次进行选择。 我这里使用SW接线方式&#xff0c;选好后立马识别出来了…

Java【集合】

一、集合的概述 集合建立在数组基础上&#xff0c;主要位于java.util包中&#xff0c;用来存储Java类对象&#xff0c;并且可以实现各种数据结构。 集合大小可以改变&#xff0c;可以存放不同数据类型数据。集合不能存放基本类型数据&#xff0c;只能存放引用数据类型数据。集…

浅谈树型结构——树

文章目录 一、什么是树&#xff1f;二、树的特点三、树的概念四、树的表示形式五、树的应用 一、什么是树&#xff1f; 树是一种 非线性 的数据结构&#xff0c;是树型结构。是一个由n个有限结点组成的一个具有层次关系的集合&#xff0c;这种集合因为看起来像一颗倒挂的树&am…

测试-Gatling 与性能测试

Gatling 与性能测试详解 一、什么是性能测试&#xff1f; 性能测试是一种软件测试类型&#xff0c;旨在评估系统在负载下的响应时间、吞吐量和资源利用率等性能指标。通过性能测试&#xff0c;开发者和运维团队能够识别出系统的瓶颈、优化系统性能&#xff0c;并确保其在实际…

鸿蒙之Hello Word 遇坑总结 mac系统 不能预览 提示 Only files in a module can be previewed 解决办法

顺时代&#xff0c; 应潮流 &#xff01;鸿蒙崛起不可阻挡&#xff0c; 鸿蒙开发大有可为&#xff0c; 万丈高楼平地起&#xff0c;学编程的第一步当然是Hello World起&#xff0c;请看 第一步是下载 编辑器&#xff0c;直接官网 文档中心下载对应的系统版本安装&#xff0c;…