前段时间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. Windows10 Linux子系统安装图形化界面的两种方法及其对比

    理论上讲,所有Win10的Linux子系统都可以通过Windows10本机远程桌面和Xming的方法来安装使用图形化界面,笔者目前只接触了Debian系的Linux系统,故以Debian GNU/Li ...

  2. Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品

    随着技术的成熟和 AI 的崛起,很多原本需要团队协作才能完成的工作现在都可以通过自动化和智能化的方式完成.于是乎,单个开发者的能力得到了极大的提升 - 借助各种工具,一个人就可以完成开发.测试.运维等 ...

  3. [转]Windows10+VS2013+OpenCV3.0开发环境搭建配置

    首先要说明一下:不管VS(Visual Studio)的版本是什么,也不管OpenCV的版本是什么,配置都大同小异.所以如果您希望在Window下配置OpenCV的开发环境,那么仔细阅读学习这篇文章即 ...

  4. 基于AI底座的数智油气田参考架构

      基于AI底座的数智油气田参考架构 Architecture for Intelligent & Digital Oilfileds Based-on AI 王权 2024.12.29   ...

  5. 关于经纬度坐标与utm坐标之间的相互转换api

    /* * Author: Sami Salkosuo, sami.salkosuo@fi.ibm.com * * (c) Copyright IBM Corp. 2007 */ package com ...

  6. Asp.net Core Kestrel 免费实现https

    0.概述 先了解下https是个啥: https://www.bilibili.com/video/BV1j7411H7vV so!只要给我们的web服务器配置一个证书就行了,证书可以买,也可以用免费 ...

  7. Kubernetes Pod状态和生命周期管理

    ​Pod​​​是​​kubernetes​​​中你可以创建和部署的最小也是最简的单位.​​Pod​​代表着集群中运行的进程. ​​Pod​​​中封装着应用的容器(有的情况下是好几个容器),存储.独立的 ...

  8. ArrayBlockingQueue源码剖析

    生产者-消费者ArrayBlockingQueue是一个实现了BlockingQueue接口的类,其可以很方便的实现生产者-消费者模式.用法如下: class Producer implements ...

  9. 分布式数据库NoSQL简介

    NoSQL第一部分   一.什么是NoSQL? 问题:12306在开始诞生的前几年,每到重大节假日,经常"瘫痪",直接原因就是集中超负荷的访问量.技术原因是它在此期间所采用的国际著 ...

  10. 9. SpringCloud Alibaba Sentinel 流量控制、熔断降级、系统负载,热点规则的部署设置讲解

    9. SpringCloud Alibaba Sentinel 流量控制.熔断降级.系统负载,热点规则的部署设置讲解 @ 目录 9. SpringCloud Alibaba Sentinel 流量控制 ...