MySQL函数和存储过程

2023-11-16

MySQL流程控制函数

(1)IF函数

IF(expr1,expr2,expr3):如果expr1是真,返回expr2,否则返回expr3;

SELECT name,IF(age>18,'成年','未成年') FROM user;

(2)IFNULL函数

IFNULL(expr1,expr2):如果expr1不是NULL,返回expr1,否则返回expr2;

(3)NULLIF函数

NULLIF(expr1,expr2):如果expr1=expr2成立,返回值为NULL,否则返回expr1;

SELECT name,NULLIF(name,loginName) FROM user;

(4)CASE函数

CASE[expr] WHEN[value] THEN[result] ...ELSE[default] END:如果value是真,返回result,否则返回default;

SELECT name,CASE sex WHEN '女' THEN '女生' WHEN '男' THEN '男生' ELSE '未知' END as result FROM user;

MySQL常用函数

数学函数

 

常用的数学函数如下:

(1)CEILING(x):返回大于x的最小整数值,他是向上取整。

(2)FLOOR(x):返回小于x的最大整数值,它是向下取整。

(3)ROUND(x,y):返回参数x的四舍五入的由y位小数的值,进行四舍五入,保留y位小数。

(4)TRUNCATE(x,y):返回数字x截短为y位小数的结果,不进行四舍五入,保留y位小数。

(5)MOD(x,y):返回x/y的模,也是取余数,和x%y是等价的。 

字符串函数

 

 常用的字符串函数如下:

(1)LENGTH(str):获取字符串的长度。

(2)LOWER(str)、UPPER(str):进行大小写字母的转换。

(3)STRCMP(s1,s2):比较两个字符串的大小(开头字母的顺序)hello>yes:1 hellow<yes:-1 等于:0。

(4)REPLACE(s,s1,s2):替换字符串。

(5)CONCAT(s1,s2,...,sn):合并拼接字符串。

(6)CONCAT_WS(sep,s1,s2,...sn):使用分隔符合并拼接字符串。

(7)LTRIM(STR)、RTRIM(str)、TRIM(str):去除空格。

(8)SUBSTRING(s,n,len):截取字符串。

日期和时间函数

 

常用的日期函数和时间函数如下:

(1)NOW():当前日期和时间,如2017-11-29 23:21:19。

(2)CURDATE():当前日期,如2017-11-29。

(3)CURTIME():当前时间,如23:22:45。

(4)YEAR(d):提取日期中的年份,如YEAR('2017-11-23')。

(5)MONTH(d):提取日期中的月份,如MONTH('2017-11-23')。

(6)DAYOFYEAR(d):提取日期里一年中的第几天,如DAYOFYEAR('2017-11-30')。

(7)DAYOFWEEK(d):提取日期里一星期中的第几天,如DAYOFWEEK('2017-11-30')。

(8)HOUR(d):提取时间中的小时,如HOUR('11:20')。

(9)MINUTE(d):提取时间中的分钟,如MINUTE('11:30')。

(10)SECOND(d):提取时间中的秒数,如SECOND('11:30:59')。

(11)DATE_ADD():向后推迟时间。DATE_ADD(NOW(),INTERVAL 3 YEAR)表示当前时间向后推迟3年。

(12)DATE_SUB():向前推时间。DATE_SUB(NOW(),INTERVAL S DAY)表示当前时间往前推3天。 

系统信息函数

通过系统函数可以获取数据库的版本号、服务器的连接数、当前数据库名、当前用户、字符串的编码集。

 

加密函数

(1)PASSWORD(str)加密函数:可以对字符串str进行加密,加密函数通常用于对用户的密码进行加密。

(2)MD5(str)加密函数:常用于一些不需要解密的数据。

(3)ENCODE(str,pswd_str)与DECODE(crypt_str,pswd_str)加密解密函数:是一对加密解密函数。

(4)AES_ENCRYPT(str,key)与AES_DECRYPT(str,key)加解密函数:是一对加密解密函数。

(5)SHA(str)加解密函数:计算字符串str的安全散列算法(SHA)校验和。

格式化函数

(1)格式化日期函数DATE_FORMAT(date,fmt):根据fmt日期格式对date日期进行格式化转换。

(2)格式化时间函数TIME_FORMAT(time,fmt):根据fmt时间格式对time时间进行格式化转换。

(3)格式化IP函数INET_ATON(ip)和INET_NTOA(num):INET_ATON(ip)将ip转换为数字,INET_NTOA(num)将数字转换为ip。

(4)格式化浮点数函数FORMAT(x,y):把x格式化为以逗号隔开的数字序列,y是结果的小数位。

自定义函数

函数的基本语法

创建自定义函数

DELIMITER $$

CREATE FUNCTIO function_name(参数列表)

RETURNS 返回值类型

BEGIN

DECLARE x VARCHAR(255) DEFAULT '';

SET x=CONCAT(a1,'word');

RETURN x;

END $$

查看自定义函数

SHOW FUNCTION STATUS like 'fun';(查看自定义函数的状态,包括所属数据库、类型、函数名称、修改时间等状态的信息)

SHOW CREATE FUNCTION fun;(用来查看函数的信息,包括函数内容等)

调用自定义函数

SELECT function_name(parameter_value,...)

SELECT FUN();

修改自定义函数

ALTER FUNCTION function_name[characteristic ...]

删除自定义函数

DROP FUNCTION function_name;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL函数和存储过程 的相关文章

随机推荐

  • Windows系统输入法的相关文件

    以下是Windows ime目录下自带的输入法的相关文件列表 全拼 Winpy ime Winpy mb Winpy hlp Winpy cnt 双拼 Winsp ime Winsp mb Winsp hlp Winsp cnt 微拼 Pi
  • 云计算中的海量数据存储在哪_云计算中的块级数据存储如何工作

    云计算中的海量数据存储在哪 Cloud computing and IT demands are directly proportional to each other To deliver consistency with securit
  • MySQL-分库分表详解(二)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • WSL2 安装 Arch Linux 子系统

    WSL 介绍与安装 Windows Subsystem for Linux 以下简称为 WSL 允许开发人员直接在Windows上运行GNU Linux环境 包括大多数命令行工具 实用程序和应用程序 无需修改 无需传统虚拟机或双引导设置的开
  • 数据结构和算法(堆排序和哈夫曼树、哈夫曼编码、解码)

    堆排序 一般使用大顶堆升序排列 使用小顶堆降序排列 下图为代码测试的树 数组格式 堆降序代码实现 import java util Arrays public class HeapSort public static void main S
  • 移植应用Wireless Tools

    移植应用Wireless Tools 前提条件 下载源码 打个补丁 解压缩源码 打补丁 编译安装 使用方法 大致流程 常见问题 前提条件 下载源码 点击前往下载 或者使用以下命令 wget c https hewlettpackard gi
  • Unity2019.4.31f1 物体动画切换与移动

    控制小鸡每隔一定时间就随机执行一个动作 该动作在三个动作中随机选择 摆头 吃东西 行走 其中行走会随机选择一个方向 进行旋转并前进一段时间 ChickenController cs using System Collections usin
  • 异常之自定义异常类

    自定义的异常类一般步骤 1 自定义异常类要继承于Exception类或其子类 或其它异常类 2 为自定义异常类声明字段 属性 成员 方法成员或重写父类的字段和方法 3 自定义异常类至少要定义两个构造方法 一个是无参的 另外一个是带 Stri
  • python操作word——python-docx和python-docx-template模块

    前言 项目用到了导出文档 综合考虑使用python docx模块 目录 python docx 安装 docx文档布局词汇 三个部分 文档 段落 文字块 四级结构 表格 使用 导入word 读操作 获取段落 获取段落文本内容 获取文字块文本
  • AD铺铜中铺地选择异形铺铜方式

    在使用AD时 最后的一步铺铜 铺地 如果是矩形的板子 铺铜很简单 直接捕捉拐角点即可 但是一些异形的板子 就不是那么好办了 虽然可以全选铺铜 最后也不影响最后的PCBA实物 但是有强迫症的肯定会看着不舒服 比如我 所以找到一种快速铺异形板子
  • Go(一)变量和常量

    目录 标识符与关键字 标识符 关键字 变量 变量的来历 变量类型 变量声明 标准声明 批量声明 变量的初始化 类型推导 短变量声明 匿名变量 常量 iota 几个常见的iota示例 标识符与关键字 标识符 在编程语言中标识符就是程序员定义的
  • Spark数据处理实战之列空值&新增列处理

    在spark dataset dataframe操作过程中 我们经常会遇到对于一个列值的一些判断情况 是否为NULL 创建一个新列等 本文讲解了常用的增加列的方法 并且对于列空值判断 填充处理以及查询的api做了详细的描述和实例讲解 阅读完
  • 思科交换机密码破解

    年纪大了 总是忘记cisco交换机密码 现将我初始化cisco交换机密码的两大步13个小步骤记录如下 A 1 打开电脑中SecureCRT软件 或者下载windows7 超级终端 v1 01 绿色版 hypertrm exe 把port C
  • 人人都看得懂的正则表达式教程

    编写验证规则最流行和最简单的方法就是正则表达式了 但唯一的一个问题是正则表达式的语法太隐晦了 让人蛋疼无比 很多开发者为了在项目中应用复杂的验证 经常要使用一些小抄来记住正则式的复杂语法和各种常用命令 在这篇文章中 我将试图让大家明白什么是
  • uboot 设置环境变量

    1 使用命令 ipconfig 查看 windows 系统的 IP 2 使用命令 ifconfig 查看虚拟机 ubuntu 系统的 IP 3 串口登录 fs4412 的uboot 4 在uboot中输入命令 print 打印当前环境变量
  • 如何将栈中的元素输出

    首先需要写一个出栈函数 得到栈顶的值 才能将其输出 bool Pop SqStack s ElemType e if s gt top 1 return false e s gt data s gt top s gt top return
  • android启动优化

    主题 我们今天讨论的主题是 使用第三方工具 CPU Profile 来优化app的启动时间 背景 想要进行app的启动优化有一点必须要知道的就是Android的启动流程和启动状态 启动流程 Android的启动流程相关的知识点 各位可以去查
  • MySQL索引1

    索引最大作用就是提高对表中数据的查询速度 就像书的目录那样重要 可以快速查到所需的知识 上面是11万多条数据的表 使用语句查询 如 耗时 0 108s 再比如 用时 0 004s 接下来创建索引 在t book上右键 选择管理索引 选择新建
  • 基于vue 2.X和高德地图的vue-amap组件获取经纬度

    今天我就讲了一下怎么通过vue和高德地图开发的vue amap组件来获取经纬度 这是vue amap的官网文档 https elemefe github io vue amap 这是我的码云项目的地址 http git oschina ne
  • MySQL函数和存储过程

    MySQL流程控制函数 1 IF函数 IF expr1 expr2 expr3 如果expr1是真 返回expr2 否则返回expr3 SELECT name IF age gt 18 成年 未成年 FROM user 2 IFNULL函数