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

07-MySQL-基础篇-函数

函数之字符串函数

      • 前言
      • 函数
      • 字符串函数
      • 数值函数
      • 日期函数
      • 流程函数


前言

  • 本篇来学习下MySQL中的函数–字符串函数。

函数

  • 函数:是指一段可以直接被另一段程序调用的程序或代码
  • MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。

字符串函数

  • 常用字符串函数
函数功能
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个长度的字符串
  • 示例
# concat : 字符串拼接
select concat('Hello' , ' World!'); # lower : 全部转小写
select lower('Hello'); # upper : 全部转大写
select upper('Hello');#  lpad : 左填充
select lpad('01', 5, '-'); #  rpad : 右填充
select rpad('01', 5, '-');# trim : 去除空格
select trim(' Hello MySQL ');# substring : 截取子字符串
select substring('Hello MySQL',1,5); 

数值函数

  • 常见数值函数
函数功能
CEIL(x)向上取整
FLOOR(x)返回x/y的模
RAND()返回0~1内的随机数
ROUND(x,y)求参数x的四舍五入的值,保留y位小数
  • 示例
# ceil:向上取整
select ceil(1.1); # floor:向下取整
select floor(1.9); # mod:取模
select mod(7,4); # rand:获取随机数
select rand(); # round:四舍五入
select round(2.344,2);

日期函数

  • 常见日期函数
函数功能
CURDATE()返回当前日期
CURTIME()返回当前时间
NOW()返回当前日期和时间
YEAR(date)获取指定date的年份
MONTH(date)获取指定date的月份
DAY(date)获取指定date的日期
DATE_ADD(date, INTERVAL exprtype)返回一个日期/时间值加上一个时间间隔expr后的时间值
DATEDIFF(date1,date2)返回起始时间date1 和 结束时间date2之间的天数
  • 示例
# curdate:当前日期
select curdate(); # curtime:当前时间
select curtime(); # now:当前日期和时间
select now(); # YEAR , MONTH , DAY:当前年、月、日
select YEAR(now());
select MONTH(now());
select DAY(now());# date_add:增加指定的时间间隔
select date_add(now(), INTERVAL 2 YEAR );# datediff:获取两个日期相差的天数
select datediff('2023-8-13', '2025-6-30'); 

流程函数

  • 常用流程函数
函数功能
IF(value , t , f)如果value为true,则返回t,否则返回f
IFNULL(value1 , value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [ val1 ] THEN [res1] …ELSE [ default ] END如果val1为true,返回res1,… 否则返回default默认值
CASE [ expr ] WHEN [ val1 ] THEN[res1] … ELSE [ default ] END如果expr的值等于val1,返回res1,… 否则返回default默认值
  • 示例
# if
select if(false, 'Ok', 'Error'); # ifnull
select ifnull('Ok','Default');
select ifnull('','Default');
select ifnull(null,'Default');# case when then else end
SELECT NAME,( CASE workaddress WHEN '北京' THEN '一线城市' WHEN '上海' THEN '一线城市' ELSE '二线城市' END ) AS '工作地址' 
FROMemp;

相关文章:

07-MySQL-基础篇-函数

函数之字符串函数 前言函数字符串函数数值函数日期函数流程函数 前言 本篇来学习下MySQL中的函数–字符串函数。 函数 函数:是指一段可以直接被另一段程序调用的程序或代码MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。…...

不同路径 II——力扣63

class Solution {public:int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) {int n=...

NLP文本分类

NLP文本分类 落地实战五大利器&#xff01;_kaiyuan_sjtu的博客-CSDN博客https://zhuanlan.zhihu.com/p/432619164 https://github.com/alibaba/EasyNLP/blob/master/README.cn.md...

进程和线程的联系与区别

文章目录 一、进程和线程的联系二、进程和线程的区别 一、进程和线程的联系 操作系统中可以有很多进程&#xff0c;每个进程都有自己独立的资源&#xff1b;一个进程中可以有很多线程&#xff0c;系统中的每个线程都能独立调度&#xff0c;同一个进程中的各个线程共享内存/硬盘…...

分支和循环语句(2)(C语言)

目录 do...while()循环 do语句的语法 do语句的特点 do while循环中的break和continue 练习 goto语句 do...while()循环 do语句的语法 do 循环语句; while(表达式); do语句的特点 循环至少执行一次&#xff0c;使用的场景有限&#xff0c;所以不是经常使用。 #inc…...

Flutter: A RenderFlex overflowed by 42 pixels on the bottom.

Flutter&#xff1a;渲染活动底部上方溢出了42个像素 Flutter 控件超出异常&#xff1a;A RenderFlex overflowed by 42 pixels on the bottom. 解决方案 1.Scaffold内添加 resizeToAvoidBottomInset 属性&#xff0c;缺点是软键盘下面的控件被挡住 Scaffold( resizeToAvoidBot…...

第三章,矩阵,07-用初等变换求逆矩阵、矩阵的LU分解

第三章&#xff0c;矩阵&#xff0c;07-用初等变换求逆矩阵、矩阵的LU分解 一个基本的方法求 A − 1 B A^{-1}B A−1BLU分解例1&#xff0c;求矩阵A的LU分解&#xff1a;例12&#xff0c;LU分解解线性方程组&#xff1a; 玩转线性代数(19)初等矩阵与初等变换的相关应用的笔记&a…...

STM32F429IGT6使用CubeMX配置SPI通信(W25Q256芯片)

1、硬件电路 需要系统性的看一下W25Q256芯片手册 2、设置RCC&#xff0c;选择高速外部时钟HSE,时钟设置为180MHz 3、配置SPI 4、生成工程配置 5、相关代码 #define sFLASH_ID 0XEF4019 // W25Q256#define SPI_FLASH_PageSize 256 #define SPI_FLASH_PerWritePageSize 256#def…...

C++11异步与通信之 packaged_task

概念简介 packaged_task 用于包装可调用目标(Callable)为一个对象,如lambda&#xff0c;普通函数&#xff0c;小括号重载等&#xff0c;用于异步调用。 其返回值或所抛异常被存储于能通过 std::future 对象访问的共享状态中&#xff0c;和promise类似。 将函数的调用与函数返…...

磁盘的管理

一、磁盘的分区 查看磁盘 lsblk fdisk -l 2、分区 没有e扩展&#xff0c;则都是主分区&#xff0c;已经有三个主分区了&#xff0c;剩下的全设置为扩展 查看分区结果&#xff1a; 二、格式化 三、挂载...

数据结构:完全二叉树的性质

完全二叉树的性质&#xff1a; 具有 n n n个结点的完全二叉树的深度为 [ l o g 2 n ] 1 ( [ x ] 表示不大于 x 的最大整数 ) [log_2n]1([x]表示不大于x的最大整数) [log2​n]1([x]表示不大于x的最大整数) 对于任意一个结点 &#xff08; 1 < i < n &#xff09; &…...

【数据结构】‘双向链表’冲冲冲

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …...

Linux 编译CEF源码详细记录

Linux CEF&#xff08;Chromium Embedded Framework&#xff09;源码下载编译 背景 由于CEF默认的二进制分发包不支持音视频播放&#xff0c;需要自行编译源码&#xff0c;将ffmpeg开关打开才能支持。这里介绍的是Linux平台下的CEF源码下载编译过程。 Windows平台参考&#…...

LeetCode 2810. Faulty Keyboard【模拟,双端队列,字符串】简单

本文属于「征服LeetCode」系列文章之一&#xff0c;这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁&#xff0c;本系列将至少持续到刷完所有无锁题之日为止&#xff1b;由于LeetCode还在不断地创建新题&#xff0c;本系列的终止日期可能是永远。在这一系列刷题文章…...

两个数组的交集-C语言/Java

描述 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 输入…...

Arduino+esp32学习笔记

学习目标&#xff1a; 使用Arduino配置好蓝牙或者wifi模块 学习使用python配置好蓝牙或者wifi模块 学习内容&#xff08;笔记&#xff09;&#xff1a; 一、 Arduino语法基础 Arduino语法是基于C的语法,C又是c基础上增加了面向对象思想等进阶语言。那就只记录没见过的。 单多…...

计算机网络-专业术语

计算机网络-专业术语 实体 实体:任何可发送或接收信息的硬件或软件进程 对等实体:收发双方相同层次中的实体 协议 控制两个对等实体进行逻辑通信的规则的集合 协议三要素 语法 定义所交换的信息的格式 是用户数据与控制信息的结构和格式 语义 定义收发双方所需要完成的操作…...

E. Maximum Monogonosity

You are given an array aa of length nn and an array bb of length nn. The cost of a segment [l,r][l,r], 1≤l≤r≤n1≤l≤r≤n, is defined as |bl−ar||br−al||bl−ar||br−al|. Recall that two segments [l1,r1][l1,r1], 1≤l1≤r1≤n1≤l1≤r1≤n, and [l2,r2][l2,…...

已解决Excel file format cannot be determined, you must specify an engine manually

问题 我使用以下语句时出现错误 data pd.read_excel(temp_inputc.csv, headerNone)出现错误&#xff1a; Excel file format cannot be determined, you must specify an engine manually有很多人说添加engine&#xff0c;但接下来会出现这个错误&#xff1a; File is not…...

Centos yum命令大全

1.使用YUM查找软件包 $ yum search python 2.列出所有可安装的软件包 $ yum list | grep python 3.列出所有可更新的软件包 $ yum list updates 4.列出所有已安装的软件包 $ yum list installed | grep python...

Mac上告别命令行!用SmartSVN图形化搞定SVN版本控制(附目录结构最佳实践)

Mac上告别命令行&#xff01;用SmartSVN图形化搞定SVN版本控制&#xff08;附目录结构最佳实践&#xff09; 作为一名长期与代码打交道的开发者&#xff0c;我深知版本控制工具的重要性。但每次打开终端输入那些晦涩的SVN命令时&#xff0c;总有种穿越回2005年的错觉。直到发现…...

MicroPython中断处理实战:如何避免内存分配陷阱(附代码示例)

MicroPython中断处理实战&#xff1a;如何避免内存分配陷阱&#xff08;附代码示例&#xff09; 嵌入式开发者在使用MicroPython进行硬件编程时&#xff0c;中断处理是不可或缺的核心技术。然而&#xff0c;许多开发者都曾遇到过这样的困境&#xff1a;精心设计的中断服务程序(…...

使用 LangGraph 构建状态化 Agent Harness

使用 LangGraph 构建状态化 Agent Harness 标题选项 从零到一:使用 LangGraph 构建高度可控的状态化 Agent 系统 LangGraph 实战指南:构建具有记忆和推理能力的智能 Agent Harness 告别简单链:使用 LangGraph 构建复杂状态化 Agent 的完整教程 掌握 LangGraph:构建企业级状…...

保姆级教程:手把手教你用Python实现AGNES聚类算法(附完整代码)

从零构建AGNES聚类算法&#xff1a;Python实现与数学原理全解析 层次聚类算法在无监督学习领域占据重要地位&#xff0c;其中AGNES&#xff08;Agglomerative Nesting&#xff09;作为自底向上的合并策略代表&#xff0c;常被用于教育平台和实际数据分析场景。与直接调用sklea…...

AIAPI代码生成已越过“可信阈值”:2026奇点大会认证的8类生产级可用场景(含金融/医疗/车规级落地清单)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AIAPI代码生成 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次将AIAPI&#xff08;AI-Native API&#xff09;代码生成列为核心议题&#xff0c;聚焦于模型驱动的接口契约自动生成、类型安全的客户端代码实时…...

手把手教你配置Simulink和PSpice的数据交换:从SLPS块到仿真结果查看

跨平台仿真数据互通实战&#xff1a;Simulink与PSpice深度协作指南 在工程仿真领域&#xff0c;Matlab/Simulink和PSpice分别代表着系统级仿真与电路级仿真的两大标杆工具。当我们需要分析一个同时包含控制算法和精密电路模型的复杂系统时&#xff0c;单独使用任一工具都可能遇…...

C++入门指南:从基础语法到核心特性全解析

1. C的第一个程序 C兼容C的绝大部分语法&#xff0c;因此C程序也可以在cpp文件中运行&#x1f60a; 这是一个非常便利的功能&#xff0c;毕竟在某些情况下printf和scanf是比cin和cout好用的 &#xff08;eg&#xff1a;保留小数点&#xff0c;提高输入输出流效率… 对于.cpp…...

告别多个Keil图标!教你合并MDK/C51/C251开发环境(Windows版)

告别多个Keil图标&#xff01;三合一开发环境整合实战指南 每次打开电脑看到桌面上排排站的uVision图标&#xff0c;是不是觉得既占空间又影响效率&#xff1f;作为嵌入式开发者&#xff0c;我们经常需要同时处理51单片机、ARM核MCU和251架构项目&#xff0c;但Keil官方默认安装…...

NifSkope:终极免费NIF文件编辑器,轻松搞定Bethesda游戏模型编辑

NifSkope&#xff1a;终极免费NIF文件编辑器&#xff0c;轻松搞定Bethesda游戏模型编辑 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope 你是否在为《上古卷轴》或《辐射》系列游戏制作模组时&#xf…...

气象编程避坑指南:解决ERA5数据计算涡度平流时的常见错误

气象编程避坑指南&#xff1a;ERA5数据计算涡度平流的7个致命陷阱与解决方案 第一次用ERA5数据计算涡度平流时&#xff0c;我盯着屏幕上那一堆报错信息发了半小时呆——明明是按照官方文档写的代码&#xff0c;为什么连最基本的数据读取都会出错&#xff1f;后来才发现&#xf…...