mysql常用函数五大类

mysql常用函数

  • 1. 第一类:数值函数
    • 1.1 圆周率pi的值
    • 1.2 求绝对值
    • 1.3 返回数字的符号
    • 1.4 开平方,根号
    • 1.5 求两个数的余数
    • 1.6 截取正数部分
    • 1.7 向上取整数
    • 1.8 向下取整数
    • 1.9 四舍五入函数
    • 1.10 随机数函数
    • 1.11 数值左边补位函数
    • 1.12 数值右边补位函数
    • 1.13 次方函数
    • 1.14 特殊次方函数e
    • 1.15 对数函数
    • 1.16 其他对数函数
    • 1.17 三角函数
  • 2. 第二类:字符串函数
    • 2.1 计算字符串的长度
    • 2.2 字符串大小写转换
    • 2.3 字符串反转
    • 2.4 字符串合并
    • 2.5 删除空格
    • 2.6 取左右两边的字符串
    • 2.7 取中间的字符串
    • 2.8 返回字符串的位置
    • 2.9 字符串的替换
    • 2.10 比较字符串
    • 2.11 重复字符串
  • 3. 第三类:时间日期函数
    • 3.1 获取当前的日期
    • 3.2 获取当前的时间
    • 3.3 获取当前的日期时间
    • 3.4 获取unix时间戳
    • 3.5 时间戳转为日期
    • 3.6 获取年月日时分秒季度星期
    • 3.7 时间转换为秒
    • 3.8 秒转换为时间
    • 3.9 时间日期的加减
    • 3.10 两个日期相减
    • 3.11 日期格式化
  • 4. 第四类:聚类函数
  • 5. 第五类:逻辑判断函数
    • 5.1. if
    • 5.2 ifnull
    • 5.3 case when

1. 第一类:数值函数

1.1 圆周率pi的值

select pi();

在这里插入图片描述

1.2 求绝对值

  • abs(x)
    • 参数x就是一个数值
select abs(1),abs(-11);

在这里插入图片描述

1.3 返回数字的符号

  • sign(x),x为数值
    • 正数返回1; 负数返回-1; 0返回0
      select sign(1),sign(-2.34),sign(11),sign(0);
      

在这里插入图片描述

1.4 开平方,根号

  • sqrt(x),x是一个数值
    select sqrt(2);
    
    在这里插入图片描述

1.5 求两个数的余数

  • mod(x,y)
    • x除数,y被除数
    select 9/7,mod(9,7) -- 余数;
    
    在这里插入图片描述

1.6 截取正数部分

  • truncate(x,n),n截取的小数的位数
  • 注意:n可以是负数,意思是-1是各位,-2是十位…
    select 9/7,truncate(9/7,0),truncate(9/7,2)341243552352,truncate(341243552352,-2);
    
    在这里插入图片描述

1.7 向上取整数

  • 向上取整数,如果有小数的话,向上进一位,值变大
  • ceil(x),ceiling(x)
    select 12.43434,ceil(12.43434),ceil(-12.43434),ceiling(12.43434);
    
    在这里插入图片描述

1.8 向下取整数

  • 向下取整数,把小数去掉
  • floor(x)
    select 12.43434,floor(12.43434),floor(-12.43434);
    
    在这里插入图片描述

1.9 四舍五入函数

  • round(x,n),n是四舍五入的位数
  • 注意:n可以为负数,-1代表个位,-2代表十位…取0
    select 12.4224,round(12.4224),round(12.4224,2),round(12.4224,-2);
    
    在这里插入图片描述

1.10 随机数函数

  • 产生一个随机数
  • rand(x),0-1之前的一个随机数
    • x是一个数值,如果加这个参数的话,就代表每次产生额随机种子是一样的
    select rand();
    
    在这里插入图片描述

1.11 数值左边补位函数

  • left : lpad(x,n,符号)左边补
  • x:数值,n:补几位,符号:补什么符号
    select lpad(1,4,0),lpad(2,4,0);
    
    在这里插入图片描述

1.12 数值右边补位函数

  • right : rpad(x,n,符号)右边补
  • x:数值,n:补几位,符号:补什么符号
    select rpad(1,4,0),rpad(2,4,'x');
    
    在这里插入图片描述

1.13 次方函数

  • pow(x,n), x n x^n xn
    select pow(2,3);
    
    在这里插入图片描述

1.14 特殊次方函数e

  • exp(x)
    • x是几次方的参数
    -- 自然数e,2.7182818....
    select exp(1);
    
    在这里插入图片描述

1.15 对数函数

  • ln(x),自然数e的对数
    select ln(exp(1));
    
    在这里插入图片描述

1.16 其他对数函数

  • log(x)
    select log(10,1000),round(log(10,1000));
    
    在这里插入图片描述

1.17 三角函数

  • 三角函数:sin,cos,tan,cot…
    select sin(pi()/6),cos(pi()/6),tan(pi()/6),cot(pi()/6);
    
    在这里插入图片描述

2. 第二类:字符串函数

2.1 计算字符串的长度

  • length(x),x字符串
  • 注意:一个中文汉字占3个字节
    select "asjncsdijcdic",length("asjncsdijcdic"),length("你好");
    
    在这里插入图片描述

2.2 字符串大小写转换

  • lower(x),全部转为小写
  • upper(x),全部转为大写
  • x为字符串
    select "HEllo",lower("HEllo"),upper("HEllo");```![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c582aab030e44a69bf6773290ffc0905.png)

2.3 字符串反转

  • reverse(x)
    select reverse('abc');
    
    在这里插入图片描述

2.4 字符串合并

  • 就是把字符串连在一起

  • concat(s1,s2,s3…)

    select concat('he','el','lo','你好');
    

    在这里插入图片描述

  • concat_ws(分隔符,s1,s2,s3…),指定分隔符连接

    select concat_ws('-','hello','world');
    

    在这里插入图片描述

2.5 删除空格

  • 删除字符串左右两边多余的空格
  • trim(x),删除左右两边的空格
  • ltrim(x),删除左边的空格
  • rtrim(x),删除右边的空格
    • x为字符串
    select "  你好 hello world   ",trim("  你好 hello world   ") trim,ltrim("  你好 hello world   ") ltrim,rtrim("  你好 hello world   ") rtrim;
    
    在这里插入图片描述

2.6 取左右两边的字符串

  • 左边取: left(x,n),x字符串,n取几位
  • 右边取: right(x,n),x字符串,n取几位
    select "helloworld",left("helloworld",5) lef,right("helloworld",5) rig;
    
    在这里插入图片描述

2.7 取中间的字符串

  • substring(x,n,m)
    • x字符串,n从第几位开始取,m取几位
    select "hello world yes", substring("hello world yes",7,5), substring("hello world yes",7);
    
    在这里插入图片描述

2.8 返回字符串的位置

  • locate(子字符串,字符串)
  • position(子字符串 in 字符串)
    select locate("world","hello world yes"),position("world" in "hello world yes");
    
    在这里插入图片描述

2.9 字符串的替换

  • replace(字符串,要替换的内容,替换的内容)

    select replace("hello world yes","world","世界");
    

    在这里插入图片描述

  • insert(字符串,替换的开始位数,取机位,替换的字符串)

    select insert("hello world yes",7,5,"世界呀");
    

    在这里插入图片描述

2.10 比较字符串

  • 比较两个字符串是不是一样,1代表不一样,0代表一样
  • strcmp(s1,s2)
    select strcmp('hello','Hello'),strcmp('hello','hello'),strcmp('hello ','Hello');
    
    在这里插入图片描述

2.11 重复字符串

  • repeat(x,n),x字符串,n重复的次数
    select repeat('hello',3);
    
    在这里插入图片描述

3. 第三类:时间日期函数

3.1 获取当前的日期

  • current_date()
  • 注意:current_date可以简写为curdate
    select current_date(),curdate();
    
    在这里插入图片描述

3.2 获取当前的时间

  • current_time()
  • 注意:current_time可以简写为curtime
    select current_time(),curtime();
    
    在这里插入图片描述

3.3 获取当前的日期时间

  • now()
  • 注意:now可以写为sysdate()
    select now(),sysdate();
    
    在这里插入图片描述

3.4 获取unix时间戳

  • 时间戳就是从1970-1-1开始到现在过了多少秒
    select unix_timestamp(now()),format(unix_timestamp(now()),0);
    
    在这里插入图片描述

3.5 时间戳转为日期

  • from_unixtime(x),x时间戳
    select from_unixtime(unix_timestamp(now()));
    
    在这里插入图片描述

3.6 获取年月日时分秒季度星期

  • 年:year(date)

    select now(),year(now())
    

    在这里插入图片描述

  • 月:

    • month(date)
    • monthname(date),获取月的英文名
      select now(),month(now()),monthname(now())
      
      在这里插入图片描述
  • 星期:

    • weekday(date),星期一:0…星期日:6
    • dayofweek(date),星期一:0…星期日:1
    • dayname(date),获取星期的英文名
      select weekday(now()),dayofweek(now()),dayname(now())
      
      在这里插入图片描述
  • 获取当前的周数,一般一年有53周

    • week(date),weekofyear(date)
      select now(),week(now()),weekofyear(now())
      
      在这里插入图片描述
  • 获取当前过了多少天

    • dayofyear(date)
      select now(),dayofyear(now())
      
      在这里插入图片描述
  • 获取本月的天

    • day(date),dayofmonth(date)
      select now(),day(now()),dayofmonth(now())
      
      在这里插入图片描述
  • 获取分钟:minute(date)

  • 获取小时:hour(date)

  • 获取季度:quarter(date)

  • 获取秒:second(date)

    select now(),minute(now()) ,hour(now()),quarter(now()),second(now())
    

    在这里插入图片描述

3.7 时间转换为秒

  • time_to_sec()
    select time_to_sec('5:28:33');
    
    在这里插入图片描述

3.8 秒转换为时间

  • sec_to_time()
    select sec_to_time(19713);
    
    在这里插入图片描述

3.9 时间日期的加减

  • 加日期:

    • date_add(date,interval 数字【year/month/hour/minute/second…】)

      • interval 数字 [day_hour/day_minute/day_second/year_month/year_second]
    • adddate(date,interval 数字 【year/month/hour/…】)

      select date_add(now(),interval 1 day),adddate(now(),interval 1 day);
      

      在这里插入图片描述

      -- 加一天五小时33分钟23秒
      select date_add(now(),interval 1 day),date_add(now(),interval "1 5:33:23" day_second);
      

      在这里插入图片描述

  • 减日期:

    • date_sub(date,interval 数字 【year/month/hour/minute/second…】)
      • interval 数字[day_hour/day_minute/day_second/year_month/year_second]
      select now(), date_sub(now(),interval 1 day);
      
      在这里插入图片描述
  • 时间加减

    • addtime(),time_add()
    • subtime(),time_sub()
  • inerval 关键词

    select '2024-7-18' + interval 1 day,'2024-7-18' + interval '2 2' day_hour,'2024-7-18' - interval '2 2' day_hour
    

    在这里插入图片描述

3.10 两个日期相减

  • datediff(日期1,日期2),得到的是天数
    select datediff('2024-1-30','2024-1-27 7:23:34');
    
    在这里插入图片描述

3.11 日期格式化

  • date_format(date,格式化形式)
    select date_format(now(),"%Y%m");
    
    在这里插入图片描述

4. 第四类:聚类函数

函数含义
min()最小值
max()最大值
avg()平均值
sum()求和
count()计数
select c_id,max(s_score) as max_score,min(s_score) as min_score,avg(s_score) as avg_score,sum(s_score) as sum_score,count(s_score) as count_score
from score
group byc_id

在这里插入图片描述

5. 第五类:逻辑判断函数

5.1. if

  • if(判断,判断成立返回的值,不成立返回的值)
    SELECTa.*,if(a.s_score>=60,"及格","不及格") 
    FROMscore a
    在这里插入图片描述

5.2 ifnull

  • ifnull(x,y),x为空时返回y,x不为空返回x本身
  • 例1
    select ifnull(null,100);
    
    在这里插入图片描述
  • 例二
    SELECTa.*,ifnull(b.s_score,0) 
    FROMstudent a
    LEFT JOINscore b
    ONa.s_id=b.s_id;
    
    在这里插入图片描述

5.3 case when

  • 语法格式
    case when 判断 then 判断成立返回的值
    when 判断 then 判断成立返回的值
    when 判断 then 判断成立返回的值
    when 判断 then 判断成立返回的值
    ...
    else 判断成立返回的值
    end
    
  • 例子
    SELECTa.*,case when a.s_score<60 then "不及格"when a.s_score<80 then "中等"ELSE "优秀"end as 成绩分组
    FROMscore a;	
    

在这里插入图片描述

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

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

相关文章

83. UE5 RPG 实现属性值的设置

在前面&#xff0c;我们实现了角色升级相关的功能&#xff0c;在PlayerState上记录了角色的等级和经验值&#xff0c;并在变动时&#xff0c;通过委托广播的形式向外广播&#xff0c;然后在UI上&#xff0c;通过监听委托的变动&#xff0c;进行修改等级和经验值。 在这一篇里&a…

鸿蒙开发仓颉语言【Hyperion: 一个支持自定义编解码器的TCP通信框架】组件

Hyperion: 一个支持自定义编解码器的TCP通信框架 特性 支持自定义编解码器高效的ByteBuffer实现&#xff0c;降低请求处理过程中数据拷贝自带连接池支持&#xff0c;支持连接重建、连接空闲超时易于扩展&#xff0c;可以积木式添加IoFilter处理入栈、出栈消息 组件 hyperio…

Mongodb的通配符索引

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第95篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?

代理IP协议是一种网络代理技术&#xff0c;可以实现隐藏客户端IP地址、加速网站访问、过滤网络内容、访问内网资源等功能。常用的IP代理协议主要有Socks5代理、HTTP代理、HTTPS代理这三种。代理IP协议主要用于分组交换计算机通信网络的互联系统中使用&#xff0c;只负责数据的路…

开局一个启动器:从零开始入坑ComfyUI

前几天刷某乎的时候看到了一位大佬写的好文&#xff0c;可图 IP-Adapter 模型已开源&#xff0c;更多玩法&#xff0c;更强生态&#xff01; - 知乎 (zhihu.com) 久闻ComfyUI大名&#xff0c;决定试一下。这次打算不走寻常路&#xff0c;不下载现成的一键包了&#xff0c;而是…

let、var、const 的区别 --js面试题

作用域 ES5中的作用域有&#xff1a;全局作用域、函数作用域&#xff0c;ES6中新增了块级作用域。块作用域由 { } 包括&#xff0c;if 语句和 for 语句里面的 { } 也属于块作用域。 var 1.没有块级作用域的概念&#xff0c;但具有函数全局作用域、函数作用域的概念 {var a …

别再只知道埋头苦学python了!!学了python后月入1w不在话下,不准你还不知道!!!

在Python接单的过程中&#xff0c;掌握一些技巧、注意相关事项以及选择合适的接单平台是非常重要的 一、Python接单要注意哪些 报酬问题&#xff1a;在接单前&#xff0c;务必明确客户所说的报酬是税前还是税后&#xff0c;以避免后期产生纠纷。时间管理&#xff1a;不要与客户…

Nginx 如何处理 WebSocket 连接?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01; 文章目录 Nginx 如何处理 WebSocket 连接&#xff1f;一、WebSocket 连接简介二、Nginx 处理 WebSocket 连接的基本原理三、配置 Nginx 支持 WebSocket 连接四、Nginx 中的…

【启明智显分享】甲醛检测仪HMI方案:ESP32-S3方案4.3寸触摸串口屏,RS485、WIFI/蓝牙可选

今年&#xff0c;“串串房”一词频繁引发广大网友关注。“串串房”&#xff0c;也被称为“陷阱房”“贩子房”——炒房客以低价收购旧房子或者毛坯房&#xff0c;用极度节省成本的方式对房子进行装修&#xff0c;之后作为精修房高价租售&#xff0c;因甲醛等有害物质含量极高&a…

“从爱好者到职业画师:一位AI绘画践行者的赚钱实战秘籍“

&#x1f3a8; 【引子&#xff1a;AI绘画&#xff1a;艺术与科技的交汇】 在数字化浪潮席卷全球的今天&#xff0c;人工智能技术以其颠覆性的力量&#xff0c;正悄然改写着艺术创作的传统版图。当AI与绘画碰撞交融&#xff0c;诞生出一种全新的艺术形式——AI绘画。它不仅是科…

别只盯着苹果了,华为Mate70也有AI技术,听说效果让人直接惊呼

随着人工智能技术的不断进步&#xff0c;智能手机行业也迎来了前所未有的变革。苹果、三星等国际知名手机厂商纷纷在新品发布会上重点展示其手机的AI技术&#xff0c;而华为作为中国科技的领军企业&#xff0c;其在AI领域的成就同样不容小觑。 华为Mate系列作为其旗舰系列&…

科研绘图系列:R语言组合热图和散点图

介绍 热图展示参与者的属性,散点图表示样本的时间跨度。 加载R包 library(tidyverse) library(ComplexHeatmap) library(circlize) library(cowplot)导入数据 数据可从以下链接下载(画图所需要的所有数据): 百度云盘链接: https://pan.baidu.com/s/1iEE9seTLdrrC3WDHJy…

计算机网络基础:3.DNS服务器、域名分类

一、DNS服务器 DNS服务器在网络中的作用类似于餐厅中的“顾客座位对照表”&#xff0c;它帮助前台&#xff08;路由器&#xff09;将顾客&#xff08;用户&#xff09;的请求转发到正确的餐桌&#xff08;目标设备&#xff09;。 (1)概念与原理 DNS的基本概念 DNS&…

Gson的基本使用:解析Json格式数据 序列化与反序列化

目录 一&#xff0c;Gson和Json 1&#xff0c;Gson 2&#xff0c;Json 3&#xff0c;Gson处理对象的几个重要点 4&#xff0c;序列化和反序列化 二&#xff0c;Gson的使用 1&#xff0c;Gson的创建 2&#xff0c;简单对象序列化 3&#xff0c;对象序列化&#xff0c;格…

Wordpress安装到win10(2024年7月)

目录 1.wordpress介绍 2下载应用 2.1.wordpress 2.2XAMPP 2.3 PHPmyadmin 3.配置应用 3.1XAMPP进程 3.2 文件配置 3.3 phpmyadmin配置 4.配置网页 4.1 数据库创建 4.2 安装wordpress 5.进入面板 6.总结 1.wordpress介绍 WordPress是一个开源内容管理系统&#xff0…

Java台球厅助教教练预约上门到店系统源码

&#x1f3b1;一杆在手&#xff0c;天下我有&#xff01;台球助教教练预约系统&#xff0c;让球技飙升不是梦&#x1f680; &#x1f3af;【开篇&#xff1a;台球爱好者的福音来啦&#xff01;】&#x1f3af; 还在为找不到合适的台球教练而烦恼吗&#xff1f;或是想要在家就…

社交圈子聊天交友系统搭建社交app开发:陌生交友发布动态圈子单聊打招呼群聊app介绍

系统概述 社交圈子部天交友系统是一个集成即时通讯、社区互动、用户管理等功能的在线社交平台。它支持用户创建个人资料&#xff0c;加入兴趣围子&#xff0c;通过文字、图片、语音、视频等多种方式进行交流&#xff0c;满足用户在不同场景下的社交需求 核心功能 -&#xff0c;…

Matlab编程资源库(1)选择结构

一、if语句 在 MATLAB 中&#xff0c; if 语句有 3 种格式。 (1) 单分支 if 语句&#xff1a; if 条件 语句组 end 当条件成立时&#xff0c;则执行语句组&#xff0c;执行完之后&#xff0c; 继续执行 if 语句的后继语句&#xff0c;若条件不成 立&#xff0c;则直接执…

Qt源码交叉编译带openssl的Qt版本

一.背景 近期项目由于对接的后台服务是https的&#xff0c;之前交叉编译的Qt是不带openssl的&#xff0c;为了能支持https&#xff0c;必须要重新编译Qt。 二.环境 环境准备&#xff1a; Ubuntu版本 &#xff1a;18.04&#xff1b; openssl 版本&#xff1a;1.1.1.g&#xff1b…

C/C++的堆栈内存分配详解

在C/C编程中&#xff0c;内存管理是至关重要的一个方面。理解内存的分配方式有助于编写高效、可靠的程序&#xff0c;C/C主要使用两种内存分配方式&#xff1a;堆&#xff08;heap&#xff09;和栈&#xff08;stack&#xff09;。这两者在管理方式、性能和使用场景上都有显著区…