08 内置函数

news2024/9/24 21:25:53

目录

  1. 日期函数
  2. 字符串函数
  3. 数学函数
  4. 其他函数

1. 日期函数

函数名称描述
current_date()当前日期
current_time()当前时间
current_timestamp()当前时间戳
date(datetime)返回datetime参数的日期部分
date_add(date,interval d_value_type)在date中添加日期或时间
interval后的数值单位可以是:year minute second day
date_sub(date,interval d_value_type)在date中减去日期或时间
interval后的数值单位可以是:year minute second day
datediff(datel,date2)两个日期的差,单位是天
now ()当前日期时间
  • 获得年月日
    在这里插入图片描述

  • 获得时分秒
    在这里插入图片描述

  • 获得时间戳
    在这里插入图片描述

  • 在日期的基础上加日期
    在这里插入图片描述

  • 在日期的基础上减日期
    在这里插入图片描述

  • 计算两个日期之间相差多少天
    在这里插入图片描述

案例1:

  • 创建一张表,记录生日

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

  • 添加当前日期

insert into tmp(birthday) values(current_date());
在这里插入图片描述

案例2:

  • 创建一个留言表

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

  • 插入数据

mysql> insert into msg(content,sendtime) values(‘hello1’, now());
mysql> insert into msg(content,sendtime) values(‘hello2’, now());
mysql> select * from msg;
在这里插入图片描述

  • 显示所有留言信息,发布日期只显示日期,不用显示时间

select content, date(sendtime) for msg;

  • 查询在2分钟内发布的帖子

select * from msg where date_add(sendtime, interval 2 minute) > now();
在这里插入图片描述

2. 字符串函数

函数名称描述
charset(str)返回字符串字符集
concat(string2[,…])连接字符串
instr(string,substring)返回substring?在string中出现的位置,没有返回0
ucase(string2)转换成大写
lcase(string2)转换成小写
left(string2,length)从string2中的左边起取length个字符
right(string2,length)从string2中的右边起取length个字符
length(string)string的长度
replace(str,search_str,replace_str)在str中用replace_str替换search_str
strcmp(string1,string2)逐字符比较两字符串大小
substring(str,position [length])从str的postion开始,取length个字符
ltrim(string) rtrim(string)trim(string)去除前空格或后空格

案例:

  • 获取emp表的ename列的字符集

select charset(ename) from EMP;

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

select concat(name, ‘的语文是’,chinese,‘分,数学是’,math,‘分’) as ‘分数’ from
student;

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

select length(name), name from student;

注意:length函数返回字符串长度,以字节为单位。如果是多字节字符则计算多个字节数,如果是单字节字符算作一个字节。比如:字母,数字算作一个字节,中文表示多个字节数(与字符集编码有关)

  • 将emp表中所有名字中有S的替换成‘上海’

select replace(ename, ‘S’, ‘上海’), ename from emp;

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

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

  • 以首字母小写的方式显示所有员工的姓名

select concat(lcase(substring(ename, 1, 1)),substring(ename,2)) from EMP;

3. 数学函数

函数名称描述
abs(number)绝对值函数
bin(decimal number)十进制转换二进制
hex(decimalNumber)转换成十六进制
conv(number,from_base,to_base)进制转换
ceiling(number)向上去整
floor (number)floor (number)
向下去整
format (number,decimal_places)格式化,保留小数位数
hex(decimalNumber)转换成十六进制
rand()返回随机浮点数,范围[0.0,1.0)
mod(number,denominator)取模,求余
  • 绝对值

select abs(-100.2);

  • 向上取整

select ceiling(23.04);

  • 向下取整

select floor(23.7);

  • 保留2位小数位数(小数四舍五入)

select format(12.3456, 2);

  • 产生随机数

select rand();

4. 其他函数

  • user() 查询当前用户

select user();

  • md5(str)对一个字符串进行md5摘要,摘要后得到一个32位字符串

select md5(‘admin’);
在这里插入图片描述

  • database()显示当前正在使用的数据库

select database();

  • password()函数,MySQL数据库使用该函数对用户加密

select password(‘root’);
在这里插入图片描述

ifnull(val1, val2) 如果val1为null,返回val2,否则返回val1的值
在这里插入图片描述

5. 实战题

牛客:查找字符串’10,A,B’ 中逗号’,'出现的次数cnt

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

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

相关文章

Java 继承Thread 和 实现Runnable的关联

在java中创建线程的最常用的两种方法 1.继承Thread类 2.继承Runnable接口 但是实现了Runnable接口之后,这个类不能自己启动,需要将其传递给一个Thread实例对象,然后通过Thread对象的start() 方法进行启动,因为只有Thread类中的 …

【系统架构设计】软件架构设计(1)

【系统架构设计】软件架构设计(1) 软件架构概述架构需求与软件质量属性软件架构风格数据流风格批处理序列管道-过滤器2者风格比较 仓库风格--黑板系统 层次系统架构风格二层及三层C/S架构风格MVCMVP 面向服务的架构 软件架构概述 基于架构的软件开发模型…

无心剑中译莎士比亚《吾爱稀罕胜天仙》

莎士比亚十四行诗第130首 Sonnet 130 吾爱稀罕胜天仙 My mistress’ eyes are nothing like the sun; Coral is far more red than her lips’ red; If snow be white, why then her breasts are dun; If hairs be wires, black wires grow on her head. I have seen roses d…

C++相关概念和易错语法(29)(lambda、function、bind)

1.lambda lamba表达式本质是匿名函数 书写格式:[ 捕捉列表 ] ( 参数 ) mutable -> 返回值 { 函数体 } 下面我会由简到难分享lambda的用法和它的理解 (1)基本使用和理解 我们先来看一段代码 我认为第一次看这个表达式应该还是能够…

LeetCode.55.跳跃游戏(贪心算法思路)

题目描述: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 输…

为什么大公司不愿意使用 Python 作为 Web 后端开发语言?

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

使用uart串口配置TMC2209模块

串口配置的优点: 通过串口助手配置TMC2209的寄存器实现转速,方向,细分数等寄存器设置。最大细分可达256。 TMC2209串口配置数据发送格式: 通过数据手册可知,TMC2209写入数据需要发送64位16进制。 前面0~7位是同步保…

OpenStack云计算平台实战

项目一 任务一 了解云计算 目前主流的开源云计算平台如下: OpenStack。OpenStack是一个提供IAAS开源解决方案的全球性项目,由Rackspace公司和NASA共同创办,采用了Apache2.0许可证,可以随意使用。OpenStack并不要求使用专门的硬…

“走进孔子博物馆 赓续千年乐章”孔乐古筝专场音乐会圆满成功!

2024年8月11日下午,备受期待的“走进孔子博物馆 赓续千年乐章”孔乐古筝专场音乐会在孔子博物馆隆重举行。此次音乐会不仅吸引了众多古筝艺术爱好者前来观看,更是一次将中华传统文化精髓与现代艺术相结合的盛会。现场座无虚席,观众朋友们共同…

C语言基础(十三)

指针的用法&#xff1a; 测试代码1&#xff1a; #include "date.h" #include <stdio.h> #include <stdlib.h> int main() { int time getTime();int n 3, m 4; // 使用malloc函数动态分配n行的指针数组&#xff0c;并将其赋值给二级指针arr。…

链表的插入操作——CSP-J1真题详解

【题目】 假设有一个链表的节点定义如下: struct Node { int data; Node* next; }; 现在有一个指向链表头部的指针&#xff1a;Node* head。如果想要在链表中插入一个新的节点&#xff0c;其成员 data 的值为 42&#xff0c;并使新节点成为链表的第一个节点&#xff0c;下面…

LLM和VLM算法常见面试题

LLM相关问题&#xff1a; Bert和GPT的区别 Bert和GPT是两种不同类型的自然语言处理&#xff08;NLP&#xff09;模型&#xff0c;具有一些重要的区别。 模型架构&#xff1a;Bert是基于Transformer架构的模型&#xff0c;它是一个预训练的双向编码器。GPT也是基于Transformer…

【最大的和】

题目 思路 最大序列和的一般做法 dp前缀最大值 dp尾缀最大值 枚举分界点 代码 #include <bits/stdc.h> using namespace std;const int N 5e410; int a[N]; int um[N], dm[N], s; int main() {int t;cin >> t;um[0] INT_MIN;while(t--){int n;cin >> …

【Linux操作系统】进程间通信(1)

目录 一、认识进程间通信二、匿名管道三、命名管道 一、认识进程间通信 进程间不能直接传递数据&#xff0c;因为进程具有独立性&#xff0c;直接传递会破坏进程的独立性。 进程间通信是什么&#xff1f; 一个进程把自己的数据交给另一个进程。 为什么要有进程间通信&#xf…

ThreadLocal解惑

目录 1、ThreadLocal是什么? 2、ThreadLocal实现原理 3、设置线程变量的2种方式 4、关于ThreadLocal的内存泄漏问题 5、使用过程中的注意事项和误区 1、ThreadLocal是什么? 比较书面的回答&#xff1a; 类如其名&#xff0c;线程本地变量。当使用 ThreadLocal 维护变量时…

防爆巡检机器人:工业安全领域的璀璨明星

在当今快速发展的工业领域&#xff0c;安全与效率是企业追求的双核动力。特别是在石油、化工、钢铁冶金、燃气等高风险、高爆炸性的行业中&#xff0c;如何确保生产环境的绝对安全&#xff0c;同时提升巡检效率&#xff0c;成为了企业亟需解决的重大课题。正是在这样的背景下&a…

leetcode 438 找到字符串中所有字母异位词

leetcode 438 找到字符串中所有字母异位词 正文 正文 本题和 leetcode 49 字母异位分词 有些类似&#xff0c;只是 49 题中要求我们找出所有的异位词并进行存储&#xff0c;而本题我们只需要找出异位词对应的索引值。因此&#xff0c;我们无需用到字典&#xff0c;只需使用列表…

理解线程 ID 和 LWP

序言 在不同的系统中&#xff0c;为了更好地管理用户可能会采取不同的编号。比如在学校的教务系统中&#xff0c;管理学生使用的是学号&#xff1b;但是在住宿系统中&#xff0c;为了更加方便的获取一个学生的寝室信息&#xff0c;可能会采取结合你是哪一栋&#xff0c;哪一层&…

MindSearch 部署的到 Hugging Face Space

和原有的CPU版本相比区别是把internstudio换成了github codespace。 随着硅基流动提供了免费的 InternLM2.5-7B-Chat 服务&#xff08;免费的 InternLM2.5-7B-Chat 真的很香&#xff09;&#xff0c;MindSearch 的部署与使用也就迎来了纯 CPU 版本&#xff0c;进一步降低了部署…

【Windows】深度学习环境部署

引言 1 Windows环境准备 1.1 VSCode Visual Studio Code&#xff08;简称 VSCode&#xff09;是一款由微软开发的开源代码编辑器。它非常受开发者欢迎&#xff0c;因为它功能强大、扩展性好&#xff0c;并且支持多种编程语言。VSCode 尤其适合 Python 开发&#xff0c;特别是…