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

【JavaWeb后端学习笔记】MySQL的常用函数(字符串函数,数值函数,日期函数,流程函数)

MySQL函数

  • 1、字符串函数
  • 2、数值函数
  • 3、日期函数
  • 4、流程函数

1、字符串函数

函数说明
concat(s1, s2, …, sn)字符串拼接,将 s1, s2, …, sn 拼接成一个字符串
lower(str)将字符串 str 全部转为小写
upper(str)将字符串 str 全部转为大写
lpad(str, n, pad)左填充,用字符串 pad 对 str 的左边进行填充,达到 n 个字符串长度
rpad(str, n, pad)右填充,用字符串 pad 对 str 的右边进行填充,达到 n 个字符串长度
trim(str)去掉字符串头部和尾部的空格
substring(str, start, len)返回从字符串 str 从 start 位置起的 len 个长度的字符串,索引从 1 开始
-- concat
select concat('hello', 'MySQL');-- lower
select lower('Hello');-- upper
select upper('Hello');-- lpad
select lpad('hhh', 5, '-');-- rpad
select rpad('hhh', 5, '-');-- trim
select trim('  Hello MySQL!  ');-- substring
select substring('Hello MySQL', 1, 5);

2、数值函数

函数说明
ceil(x)向上取整
floor(x)向下取整
mod(x, y)返回 x/y 的模
rand()返回 0~1 内的随机数
round(x, y)求参数 x 的四舍五入的值,保留 y 为小数
-- ceil
select ceil(1.1);-- floor
select floor(1.1);-- mod
select mod(7, 4);-- rand
select rand();-- round
select round(1.254, 1);

3、日期函数

函数说明
curdate()返回当前日期(年-月-日)
curtime()返回当前时间(时-分-秒)
now()返回当前日期和时间
YEAR(date)获取指定 date 的年份
MONTH(date)获取指定 date 的月份
DAY(date)获取指定 date 的日期
DATE_ADD(date, INTERVAL expr type)返回一个日期/时间值加上一个时间间隔 expr 后的时间值
datediff(date1, date2)返回起始时间 date1 和结束时间 date2 之间的天数
-- curdate
select curdate();-- curtime
select curtime();-- now
select now();-- YEAR
select YEAR(now());-- MONTH
select MONTH(now());-- DAY
select DAY(now());-- DATE_ADD
select DATE_ADD(now(), INTERVAL 10 DAY);-- datediff
select datediff('2021-10-01', '2021-06-01');

4、流程函数

函数说明
if(value, t, f)如果 value 为 true, 则返回 t, 否则返回 f
ifnull(value1, value2)如果 value1 不为空, 返回 value1, 否则返回value2
case when [val1] then [res1] when [val2] then [res2] … else [default] end如果 val1 为 true, 返回 res1,…,否则返回 default 默认值
case [expr] when [val1] then [res1] when [val2] then [res2] … else [default] end如果 expr 的值等于 val1,返回 res1,…,否则返回 default 默认值
-- if(value, t, f)
select if(true, 'True', 'False');
select if(false, 'True', 'False');-- ifnull(value1, value2)
select ifnull('OK', 'Default');
select ifnull('', 'Default');
select ifnull(null, 'Default');-- case when [val1] then [res1] when [val2] then [res2] ... else [default] end
select id, name,(case when math >= 85 then '优秀' when math >= 60 then '及格' else '不及格' end) as math,(case when english >= 85 then '优秀' when english >= 60 then '及格' else '不及格' end) as english,(case when chinese >= 85 then '优秀' when chinese >= 60 then '及格' else '不及格' end) as chinese
from score;-- case [expr] when [val1] then [res1] when [val2] then [res2] ... else [default] end
selectid,name,(case address when '北京' then '一线城市' when '上海' then '一线城市' else '二线城市' end) as address
from tb_emp;

相关文章:

【JavaWeb后端学习笔记】MySQL的常用函数(字符串函数,数值函数,日期函数,流程函数)

MySQL函数 1、字符串函数2、数值函数3、日期函数4、流程函数 1、字符串函数 函数说明concat(s1, s2, …, sn)字符串拼接,将 s1, s2, …, sn 拼接成一个字符串lower(str)将字符串 str 全部转为小写upper(str)将字符串 str 全部转为大写lpad(str, n, pad)左填充&…...

【推送】主流的服务端推送技术的对比

推送技术的对比 以下是主流的服务端推送技术的对比表格,涵盖WebSocket、Server-Sent Events (SSE)、Long Polling、HTTP/2 Push和Comet: 特性WebSocketServer-Sent Events (SSE)Long PollingHTTP/2 PushComet通信方向双向单向(服务器到客户…...

直观解读 JuiceFS 的数据和元数据设计(一)

大家读完觉得有意义和帮助记得关注和点赞!!! 1 JuiceFS 高层架构与组件2 搭建极简 JuiceFS 集群 2.1 搭建元数据集群2.2 搭建对象存储(MinIO) 2.2.1 启动 MinIO server2.2.2 创建 bucket2.3 下载 juicefs 客户端2.4 创…...

nginx配置文件没有语法颜色

第一种办法: nginx-1.26.2这个目录是通过解压 nginx-1.26.2.tar.gz,nginx官网下的 将这四个目录复制到/usr/share/vim/vimfiles/目录下 cp -ar ./* /usr/share/vim/vimfiles/ 再次进入nginx配置文件可以看到已经有颜色了 第二种方法: …...

PCB层叠结构设计

PCB层叠结构设计 层叠结构设计不合理完整性相关案例:在构成回流路径时,由于反焊盘的存在,使高速信号回流路径增长,造成信号回流路径阻抗不连续,对信号质量造成影响。 PCB层叠结构实物:由Core 和 Prepreg&a…...

电子应用设计方案83:智能 AI 打印机系统设计

智能 AI 打印机系统设计 一、引言 智能 AI 打印机系统旨在提供更高效、便捷和个性化的打印服务,融合了人工智能技术,以满足不断变化的用户需求。 二、系统概述 1. 系统目标 - 实现自动纸张检测、调整打印参数,适应不同纸张类型和尺寸。 - 具…...

windows安装rsync Shell语句使用rsync

sh脚本里使用 rsync功能,需要提前布置rsync环境 第一步,下载 libxxhash-0.8.2-1-x86_64.pkg.tar 下载压缩包地址 Index of /msys/x86_64/https://repo.msys2.org/msys/x86_64/ 下载对应版本,没特殊需求下载最高版本就行了 解压缩压缩包 …...

Django 模型

Django 模型 Django 模型是 Django 框架的核心组件之一,它用于定义应用程序的数据结构。在 Django 中,模型是 Python 类,通常继承自 django.db.models.Model。每个模型类代表数据库中的一个表,模型类的属性对应表中的字段。 1. 创建模型 创建 Django 模型非常简单。首先…...

CentOS — 压缩解压

文章目录 一、tar二、zip、unzip三、gzip、gunzip四、bzip2、bunzip2 一、tar 文件格式:.tar 压缩格式:tar [-参数] *.tar 目录|文件 解压格式:tar [-参数] *.tar [-C 目标目录] 参数 -c:create,创建,创…...

OpenGL变换矩阵和输入控制

在前面的文章当中我们已经成功播放了动画,让我们的角色动了起来,这一切变得比较有意思了起来。不过我们发现,角色虽然说是动了起来,不过只是在不停地原地踏步而已,而且我们也没有办法通过键盘来控制这个角色来进行移动…...

LCS最长公共子序列C++实现

算法思路&#xff1a;动态规划 版本1&#xff1a;只输出公共长度 #include <iostream> #include <string> using namespace std;int c[1000][1000]; //c[i][j]用来存储 Xi到Yj的最长公共子序列长度 void MaxLength(int m, int n, string x, string y) { //m&#x…...

深入刨析数据结构之排序(上)

目录 1.内部排序 1.1概述 1.2插入排序 1.2.1其他插入排序 1.2.1.1 折半插入排序 1.2.1.2 2-路插入排序 1.3希尔排序 1.4快速排序 1.4.1起泡排序 1.4.2快速排序 1.4.2.1hoare版本 1.4.2.2挖坑版本 1.4.2.3前后指针版本 1.4.2.4优化版本 1.4.2.4.1小区间插入排序优…...

【无重复字符的最长子串】

一、题目 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串的长度。示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。示例 2: 输入: s "bbbbb" 输出: 1 解释: …...

Vue3+Element Plus的表格分页实战

Element Plus 是一个基于 Vue 3 的现代化 UI 组件库,旨在帮助开发者快速构建美观且功能丰富的 Web 应用程序。它提供了大量的 UI 组件,如按钮、表单、表格、弹出框、标签页、树形控件等,涵盖了 Web 应用开发中常见的大多数场景。本文通过一个实例来说明vue3+elementplus查询…...

vue项目搭建规范

项目搭建规范 一. 代码规范1.1. 集成editorconfig配置1.2. 使用prettier工具1.3. 使用ESLint检测1.4. git Husky和eslint1.5. git commit规范1.5.1. 代码提交风格1.5.2. 代码提交验证 二. 第三方库集成2.1. vue.config.js配置2.2. vue-router集成2.3. vuex集成2.4. element-plu…...

Mac iTerm2集成DeepSeek AI

1. 去deepseek官网申请api key&#xff0c;DeepSeek 2. 安装iTerm2 AI Plugin插件&#xff0c;https://iterm2.com/ai-plugin.html&#xff0c;插件解压后直接放到和iTerms相同的位置&#xff0c;默认就在/Applications 下 3. 配置iTerm2 4. 重启iTerm2,使用快捷键呼出AI对话…...

检索增强生成(RAG)

检索增强生成&#xff08;Retrieval-Augmented Generation, RAG&#xff09;是一种结合了检索机制和生成模型的先进技术&#xff0c;旨在提高自然语言处理系统的准确性和上下文相关性。本文将详细介绍如何从零开始构建一个RAG系统&#xff0c;包括数据处理、检索、生成以及部署…...

【第二部分--Python之基础】03 容器类型的数据

Python内置的数据类型如序列&#xff08;列表、元组等&#xff09;、集合和字典等可以容纳多项数据&#xff0c;我们称它们为容器类型的数据。 序列 序列&#xff08;sequence&#xff09;是一种可迭代的、元素有序的容器类型的数据。 序列包括列表&#xff08;list&#xff…...

【人工智能机器学习基础篇】——深入详解深度学习之复杂网络结构:卷积神经网络(CNN)、循环神经网络(RNN)、生成对抗网络(GAN)等概念及原理

深入详解深度学习之复杂网络结构&#xff1a;卷积神经网络&#xff08;CNN&#xff09;、循环神经网络&#xff08;RNN&#xff09;、生成对抗网络&#xff08;GAN&#xff09; 深度学习作为人工智能的重要分支&#xff0c;通过复杂的网络结构实现对数据的高级抽象和理解。本文…...

MySQL 入门教程

MySQL是最流行的关系型数据库管理系统&#xff0c;在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System&#xff1a;关系数据库管理系统)应用软件之一。 在本教程中&#xff0c;会让大家快速掌握MySQL的基本知识&#xff0c;并轻松使用MySQL数据库。 什么…...

TaotokenCLI工具一键配置开发环境与团队协作

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 TaotokenCLI工具一键配置开发环境与团队协作 在团队协作开发中&#xff0c;统一大模型API的接入配置是一个常见痛点。每个成员手动…...

40希尔排序 - 以递减间距进行插入排序

希尔排序 - 以递减间距进行插入排序 040希尔排序&#xff1a;用长距离跳跃打破速度壁垒&#x1f4f0; 5W1H 发明者故事 Who&#xff08;何人&#xff09;- 发明者是谁&#xff1f; 发明者&#xff1a;唐纳德希尔&#xff08;Donald L. Shell&#xff09; 背景&#xff1a;希尔…...

在 Simulink 中实现并网双向 DC/AC 逆变器的无功补偿(SVG)功能仿真

目录 🛠️ 第一步:系统架构设计与模块搭建 ⚙️ 第二步:SVG 核心控制策略设计(双闭环控制) 📊 第三步:仿真运行与结果分析 手把手教你在 Simulink 中实现并网双向 DC/AC 逆变器的无功补偿(SVG)功能仿真。 在现代电力系统中,并网逆变器(如光伏、储能逆变器)不…...

遥感图像处理实战:用eCognition多尺度分割搞定地物分类(附样本点与特征提取全流程)

遥感图像智能解译实战&#xff1a;eCognition多尺度分割与地物分类全流程解析 清晨的阳光透过窗帘缝隙洒在桌面上&#xff0c;我打开最新接收的卫星影像——这是一片混合了城市建筑、绿地和农田的复杂区域。作为遥感分析师&#xff0c;我们每天面对的都是这样充满信息量的图像&…...

Linux挖矿木马Linux.BtcMine.174技术剖析与防御实战

1. 新型Linux挖矿木马深度剖析&#xff1a;从Linux.BtcMine.174看现代恶意软件的演进最近安全圈里一个来自俄罗斯Dr.Web公司的分析报告引起了我的注意&#xff0c;他们披露了一个代号为Linux.BtcMine.174的新型木马。这玩意儿可不是什么小打小闹的脚本小子作品&#xff0c;而是…...

JavaScript 的速度秘密:深入理解 JIT (即时编译)

⚡ JavaScript 的速度秘密&#xff1a;深入理解 JIT (即时编译) &#x1f914; 为什么 JavaScript 能这么快&#xff1f; 在早期&#xff0c;JavaScript 是一种解释型语言。浏览器逐行读取代码&#xff0c;翻译成机器指令并执行。这种方式启动快&#xff0c;但运行慢&#xf…...

【计算机网络硬核指南】子网划分终极篇:定长+VLSM+超网三合一实战(3道大厂真题逐字节演算)

【计算机网络硬核指南】子网划分终极篇&#xff1a;定长VLSM超网三合一实战&#xff08;3道大厂真题逐字节演算&#xff09; 前言 在上一篇文章中&#xff0c;我们系统学习了IP地址基础和子网划分的核心方法&#xff0c;逐题演算了9道经典真题。很多读者反馈说&#xff0c;看…...

LizzieYzy深度解析:专业围棋AI分析平台的实战进阶手册

LizzieYzy深度解析&#xff1a;专业围棋AI分析平台的实战进阶手册 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 在围棋AI技术日新月异的今天&#xff0c;如何将强大的计算能力转化为实用的分析工…...

【多智能体】基于matlab多智能体多视角三维空间定位的神经动力学方法【含Matlab源码 15447期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…...

S32K3 Autosar开发环境一站式部署指南

1. S32K3 Autosar开发环境概述 第一次接触S32K3 Autosar开发的朋友可能会被复杂的工具链吓到。其实只要理清思路&#xff0c;整个环境搭建就像组装乐高积木——每个组件都有明确的位置和功能。S32K3是NXP面向汽车电子的明星MCU&#xff0c;而Autosar则是汽车软件开发的行业标准…...