【MySQL篇】MySQL内置函数

目录

1,日期函数

 2,字符串函数

3,数学函数 

4,其他函数 

实战OJ


1,日期函数

日期类型在之前文章【数据类型】中有描述

传送门:【MySQL篇】数据类型_mysql 数据类型-CSDN博客

函数名称描述
current_date()当前日期
current_time()当前时间
current_timestamp()当前时间戳
date(datetime)返回datetime参数的部分日期
date_add(date,interval d_value_type)在date中添加日期或时间,interval关键字后可以是:year,mintue,second,day
date_sub(date,interval d_value_type)

在date中减去日期或时间,interval关键字后可以是:

year,minute,second,day

datediff(date1,date2)两个日期的差,单位是天
now()当前日期时间
  • 获得当前日期(年月日)

  • 获得当前日期(时分秒)

  • 获取当前日期 

  • 获得时间戳 

  • 在日期的基础上加上日期 

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

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

 案例1:创建一张生日表,记录生日

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

  • 添加当前日期 

mysql> 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 content,date(sendtime) from msg;

 

  • 查询2分钟内发布的留言

mysql> select * from msg where date_add(sendtime,interval 2 minute)>now();

 

 2,字符串函数

charset(str)返回str的字符集
concat(string,[...])连接字符串
instr(str,substring)返回substring在str中出现的位置,没有返回0
ucase(string2)转换成大写
lcase(string2)转换成小写
left(string2,length)从string2的左边起,取length个字符
length(string)string的长度,单位是字节
replace(str,search_str,raplace_str)在str中用replace_str替换search_str
strcmp(string1,string2)比较两字符串的大小
substring(string,postion,length)从string的postion开始,读取length个字符
ltrim(string)    rtrim(string)   trim(string)去除前空格或后空格(见示例)

示例:

  • 查看字符的编码集

  • 连接字符串 

 

  • 判断一个字符是否在另一个字符串中出现 

  •  大小写转换

  •  left,right函数

  • length求字符串长度,单位是字节 (utf8下一个整数3个字节)

 

案例: 

  • 首先创建一张员工表

  • 插入数据 

  • 获取emp表的ename列的字符集 (如果表中有些部分出现乱码,可以查看插入数据的编码和mysql的编码是否一致)

mysql> select charset(ename) from emp;

 

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

mysql> select ename,replace(ename,'S','上海')  from emp;

  • 截取emp表中ename字段的第2到3个字符

 mysql> select ename,substring(ename,2,2) from emp;

 

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

mysql> select concat(lcase(substring(ename,1,1)),substring(ename,2)) from emp;

 

3,数学函数 

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

示例:

  • 绝对值

  • 向上取整 

  •  向下取整

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

  • 十进制转化成二进制 

  • 把一个数字从一个进制转化成另一个进制 

  • 转化成十六进制 

  • 产生随机数

4,其他函数 

  • user查询当前用户

mysql> select user();

  • md5(str)对一个字符串进行md5摘要,摘要后的得到一个32位字符串 ,可以保证用户信息的安全性

mysql> create table user(
    -> id int primary key auto_increment,
    -> name varchar(20),
    -> password char(32) not null); 

插入数据 

mysql> insert into user (name,password) values ('张三',md5('12345'));
mysql> insert into user (name,password) values ('李四',md5('21090'));

 

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

mysql> select database();

  • ifnull(val1,val2),如果val为null,返回val2。否则返回val1

 

实战OJ

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

select id,length(string)-length(replace(string,',','')) cnt from strings;

 

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

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

相关文章

苹果iOS 18.4将强制升级HomeKit架构,旧版设备或无法使用

在科技飞速发展的当下,智能家居领域也在不断革新。而苹果公司作为科技行业的巨头,其每一次动作都备受关注。近日,有消息称苹果计划在iOS 18.4版本中停止对旧版HomeKit架构的支持,这一举措意味着用户将被迫升级,也可能对众多使用Apple Home应用的智能家居设备用户产生深远影…

故障诊断——neo4j入门

文章目录 neo4jQuickStartDemo neo4j QuickStart 详情可见博客:https://www.cnblogs.com/nhdlb/p/18703804,使用docker拉取最近的一个版本进行创建 docker run -it -d -p 7474:7474 -p 7687:7687 \ -v /disk5/neo4j_docker/data:/data \ -v /disk5/ne…

《苍穹外卖》SpringBoot后端开发项目核心知识点与常见问题整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功: 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具:Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…

大模型安全新范式:DeepSeek一体机内容安全卫士发布

2月以来,DeepSeek一体机几乎成为了政企市场AI消费的最强热点。 通过一体机的方式能够缩短大模型部署周期,深度结合业务场景,降低中小企业对于大模型的使用门槛。据不完全统计,已约有超过60家企业基于DeepSeek推出一体机产品。 但…

OpenHarmony-SELinux配置

前言: OpenHarmony 上某个进程向samgr注册SA服务,其他进程在与该进程进行IPC通信之前,需要获取该SA服务,SA提供方需要为该SA配置SELinux标签,否则该SA会被SELinux配置为u:object_r:default_service:s0标签&#xff0c…

SQL开发中改善查询性能的N种写法

文章目录 1. 使用 SELECT *2. 在 WHERE 子句中使用函数或计算3. 使用隐式类型转换4. 不使用索引的列进行连接(JOIN)或过滤5. 使用 OR 代替 IN6. 在子查询中使用 SELECT *7. 忽略索引统计信息8. 嵌套子查询过多9. 过度使用 DISTINCT10. 使用不当的 JOIN 类…

第十八:go 并发 goroutine

channel 可以让多个goroutine 之间实现通信 Add方法调用时机:必须在goroutine 启动之前调用Add方法来增加计数器的值。 如果在goroutine已经启动之后再调用Add,可能会导致Wait方法提前返回,因为计数器没有正确反映正在运行的goroutine的数量…

数字IC后端项目典型问题(2025.03.10数字后端项目问题记录)

小编发现今天广大学员发过来的问题都比较好,立即一顿输出分享给大家(每天都有好多种类的数字后端问题)。后续可能会经常通过这种方式来做分享。其实很多问题都是实际后端项目中经常遇到的典型问题。希望通过这种方式的分享能够帮助到更多需要…

课程《Deep Learning Specialization》

在coursera上,Deep Learning Specialization 课程内容如下图所示: Week2 assignment, Logistic Regression.

LLM推理和优化(1):基本概念介绍

一、LLM推理的核心过程:自回归生成 LLM(如DeepSeek、ChatGPT、LLaMA系列等)的推理本质是自回归生成:从初始输入(如[CLS]或用户prompt)开始,逐token预测下一个词,直到生成结束符&…

【从零开始学习计算机科学】编译原理(一)编译过程概述

【从零开始学习计算机科学】编译原理(一)编译过程概述 绪论编译过程概述词法分析语法分析代码优化代码生成其他功能编译器的前端和后端绪论 什么叫编译程序?为什么我们需要编译程序?编译程序就是一个程序,将便于人编写、阅读、维护的高级计算机语言所写作的源代码程序,翻…

3-001:MySQL 中的回表是什么?

1. 什么是回表? 回表(Back to Table) 指的是 在使用非聚簇索引(辅助索引)查询时,MySQL 需要 先通过索引找到主键 ID,然后再回到主键索引(聚簇索引)查询完整数据&#xf…

【AIGC】计算机视觉-YOLO系列家族

YOLO系列家族 (1)YOLO发展史(2) YOLOX(3) YOLOv6(4) YOLOv7(5) YOLOv8(6) YOLOv9(7)YOLOv10(8&…

基于Python懂车帝汽车数据分析平台(源码+lw+部署文档+讲解),源码可白嫖!

摘要 时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,汽车数据分析平台当然不能排除在外。本次我所开发的懂车帝汽车数据分析平台是在实际应用和软件工程的开发原理之上,运用Python…

Prompt 工程

一、提示原則 import openai import os import openai from dotenv import load_dotenv, find_dotenv from openai import OpenAI def get_openai_key():_ load_dotenv(find_dotenv())return os.environ[OPENAI_API_KEY]client OpenAI(api_keyget_openai_key(), # This is …

MySQL -- 数据库基础

1、基础登录操作 mysql 指定选项 选项&#xff1a; <1> -h 指定ip地址&#xff0c;即连接的主机&#xff0c;不带时&#xff0c;默认连本机 <2> -P 指定的端口号&#xff0c;指定默认端口号&#xff08;配置文件中进行配置&#xff09; <3>-u 指定的用户 &l…

02C#基本结构篇(D3_内部类-代码块-数据类型-变量-常量-字面量-运算符-流程控制语句)

目录 一、内部类 1. 定义内部类 2. 创建内部类的实例 3. 访问外部类的私有成员 4. 内部静态类 5. 使用场景和优点 6. 注意事项 ------------------------------------------- 二、代码块 1. 控制流语句 1.1. 条件语句 1> if 语句 2> switch 语句 1.2. 循环语…

15 | 定义简洁架构 Store 层的数据类型

提示&#xff1a; 所有体系课见专栏&#xff1a;Go 项目开发极速入门实战课&#xff1b;欢迎加入 云原生 AI 实战 星球&#xff0c;12 高质量体系课、20 高质量实战项目助你在 AI 时代建立技术竞争力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本节课最终…

CSDN统计个人创作总字数

前言 不是很懂爬虫&#xff0c;所以就叫deepseek写了一个 用起来很简单&#xff0c;但是有一个小问题&#xff0c;就是统计的是总字符数。代码片会被统计进去&#xff0c;Markdown语法也会被统计进去。 不过我没有太多需求&#xff0c;能大概统计一下满足以下小小的好奇心和成…

React.js 基础与进阶教程

React.js 基础与进阶教程 React.js 是由 Facebook 开发的流行前端 JavaScript 库&#xff0c;专为构建用户界面&#xff08;UI&#xff09;设计&#xff0c;尤其适用于单页面应用&#xff08;SPA&#xff09;。它采用组件化开发模式&#xff0c;使 UI 结构更加清晰、可维护性更…