前段时间b站看sql基础语法,在此做一总结

1.基本函数

mysql中的函数基本可以分为单行函数和分组函数,单行函数用于处理单个的数据,分组函数则是传输一组值过去进行处理。单行函数有可分为字符函数,数学函数,其他函数,和流程控制函数。下面按顺序展开讲。


1.1 字符函数

*length* length函数用于统计字节的长度 。使用方法 length(str),utf-8编码下一个字母一个字节,一个汉字三个字节。
*concat* concat用于拼接字符。使用方法 concat(str1,str2,...strn)

*upper,lower* upper转换为大写,lower转化为小写。

*substr* substr函数用于截取字符,使用方法 第1种.substr(str,pos) 从str的第pos位开始截取以后的字符并返回,pos从一开始。第2种.substr(str,pos,len)从str的第pos位开始截取len个字符并返回。

*instr* 返回子字符串在父子符串中出现的位置(从1开始),找不到返回0。 使用方法instr( parent,sbub )

*trim* 去除字符串两边指定的字符。使用方法trim( 'trimItem' from str ).eg: SELECT TRIM( 'a' FROM 'asssaasssaaa' ) 的运行结果是'sssaasss'
*lpad,rpad* lpad用指定字符填充指定字符串的左边到指定长度。使用方法lpad(str,length,padStr);rpad与lpad功能相似,只是从右边开始填充。

*replace* 替换字符串。使用方法replace(str,replacedStr,padStr).eg:replace('sfsfs','f','a') 的执行结果是sasas。

字符函数总归是处理字符的函数,大小写转换,长度计算,子串与父串的位置关系,填充,替换这几种功能


1.2 数字函数

*round* 保留指定位数之后四舍五入。 用法round(number, D) 保留D位小数,四舍五入。

*ceil,floor* ceil为向上取整函数,floor为向下取整。

*truncate* 截断小数点后第几位。用法 truncate(number,D)保留D位小数,截断。

*mod* 取余。 用法mod(number,mod) ,结果是number % mod 的结果。


1.3 日期函数

*str_to_date* 将日期格式的字符串按照指定格式转换为字符串。格式使用%Y,%m等指定。举例: str_to_date('4-3 1993','%c-%d %Y') 的结果是1993-04-03。
*date_format* 将日期转换为指定格式的字符串。格式指定字符同上。

常见格式说明:

1.4 其他函数

一些系统函数,诸如version 查看版本。database当前正在使用的数据库。以及其他等等。

1.5 流程控制函数

*if* 与三元运算符效果类似,使用方法if(expression, exe1,exe2),如果expression为真则执行exe1,若为假则执行exe2。
*case when then else end* 。 有两种使用方法,第一种:

  1. case expression
  2. when 常量 then [要显示的值 | 要执行的语句;]
  3. 可以多个...
  4. else 缺省时执行的 [要显示的值 | 要执行的语句;]
  5. end;

第二种:

  1. case
  2. when 条件1 then 要显示的值 | [要显示的语句;]
  3. when 条件2 then 要显示的值 | [要显示的语句;]
  4. else 要显示的值 | [要显示的语句;]
  5. end;

下来介绍多行函数:
多行函数都是对一组值进行计算的。
*sum* 统计一组值得和。

*avg* 统计一组值的平均值。

*min* 统计一组值中的最小值。

*max* 统计一组值中的最大值。

*count* 统计一组值得个数。

以上函数,都会忽略null值。sum,avg只能使用数值型数据。min,max可以用于数字,字符,日期类型。 count 支持任何类型。

mysql基础中的基础 函数的更多相关文章

  1. [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换

    [.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...

  2. [.net 面向对象编程基础] (3) 基础中的基础——数据类型

    [.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...

  3. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  4. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  5. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  6. [.net 面向对象编程基础] (8) 基础中的基础——修饰符

    [.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...

  7. 从头开始学JavaScript 笔记(一)——基础中的基础

    原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成   javascript   ECMASc ...

  8. C++ 基础中的基础 ---- 引用

    C++ 基础中的基础 ---- 引用 引用的概念:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.比如: int n ...

  9. MySql数据库中的datediff函数

    MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数   一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果:

  10. python之基础中的基础(一)

    python是一个效率极高的语言,现在市面上的机器学习大部分是由python和R语言完成,所以在不久之前小仙心中便种下了学习python的想法.下面是这一个月多月以来学习的总结,都是基础中基础了. 1 ...

随机推荐

  1. Qt编写可视化大屏电子看板系统31-模块9视频监控

    一.前言 视频监控模块采用ffmpeg作为解码内核,可以在系统设置中填入一个视频地址,同时支持本地视频文件.USB摄像机.远程onvif摄像机(海康大华等).网络视频地址,大屏系统中默认有一个视频监控 ...

  2. Qt音视频开发48-通用通道管理

    一.前言 把通用的视频控件搞定以后,后期增加新的内核方便多了,不需要在好多个文件复制粘贴之类的,接下来就是需要一个统一的类来管理视频监控系统中的16个通道或者32个通道,甚至64个通道也有可能,当然, ...

  3. Qt音视频开发18-海康sdk回调

    一.前言 海康sdk显示实时视频流除了支持句柄方式以外,也支持回调的方式拿到每一张图片自己绘制处理,当然回调除了拿到视频数据,其实音频数据也一块拿到了,自行调用音频设备播放就行,关于海康sdk回调这块 ...

  4. 掌握 PostgreSQL 的 psql 命令行工具

    title: 掌握 PostgreSQL 的 psql 命令行工具 date: 2024/12/30 updated: 2024/12/30 author: cmdragon excerpt: psq ...

  5. 百度高效研发实战训练营-Step4

    百度高效研发实战训练营-Step4 4.1 代码检测规则:Java案例详解 以Java的案例进行代码检查规则解释,代码检测规则可以分为以下十类: 4.1.1 源文件规范 该类规范,主要为从文件名.文件 ...

  6. C# 获取系统声卡音频数据,并绘制波形

    //by wgscd //date:2022/11/7 UI: <Path Stroke="Red" Data="{Binding path}" Rend ...

  7. [车联网/以太网] SOME/IP 协议

    概述: SOME/IP 协议 车载以太网协议栈总共可划分为5层: 物理层 数据链路层 网络层 传输层 应用层 其中本文所要描述的SOME/IP就是一种应用层协议. SOME/IP协议内容按照AUTOS ...

  8. STL 容器操作

    vector set转化为vector:vec.assign(set.begin(), set.end()) map 1. map默认从小到达排序,想要从大到小,可以: map<string, ...

  9. NSSM:简化Windows服务配置,提升系统维护效率

    NSSM:简化Windows服务配置,提升系统维护效率 在Windows系统环境中,服务的配置与管理是一项复杂而重要的任务.传统的服务管理方式往往涉及繁琐的步骤,不仅效率低下,还容易出错.然而,随着N ...

  10. linux系统位于 /var/log 目录下的日志文件

    "/var/log"是Linux系统登录文件放置的地方,里面就是记录点日志,可以删除,不过为了句柄安全,最好删除后重启xenserver(就是重启虚拟机). 以下是位于 /var/ ...