mysql基础中的基础 函数
前段时间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* 。 有两种使用方法,第一种:
case expressionwhen 常量 then [要显示的值 | 要执行的语句;]可以多个...else 缺省时执行的 [要显示的值 | 要执行的语句;]end;
第二种:
casewhen 条件1 then 要显示的值 | [要显示的语句;]when 条件2 then 要显示的值 | [要显示的语句;]else 要显示的值 | [要显示的语句;]end;
下来介绍多行函数:
多行函数都是对一组值进行计算的。*sum* 统计一组值得和。
*avg* 统计一组值的平均值。
*min* 统计一组值中的最小值。
*max* 统计一组值中的最大值。
*count* 统计一组值得个数。
以上函数,都会忽略null值。sum,avg只能使用数值型数据。min,max可以用于数字,字符,日期类型。 count 支持任何类型。
mysql基础中的基础 函数的更多相关文章
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- [.net 面向对象编程基础] (8) 基础中的基础——修饰符
[.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- C++ 基础中的基础 ---- 引用
C++ 基础中的基础 ---- 引用 引用的概念:引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量.比如: int n ...
- MySql数据库中的datediff函数
MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数 一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果:
- python之基础中的基础(一)
python是一个效率极高的语言,现在市面上的机器学习大部分是由python和R语言完成,所以在不久之前小仙心中便种下了学习python的想法.下面是这一个月多月以来学习的总结,都是基础中基础了. 1 ...
随机推荐
- 启用Linux防火墙日志记录和分析功能
防火墙的基本功能是阻止来自可疑网络/来源的连接.它会检查所有连接的源地址.目的地址和端口,并决定是否允许或阻止流量.防火墙的每个操作都会记录为日志数据.监控和分析这些日志对于保护您的网络免受攻击至关重 ...
- Qt/C++音视频开发64-共享解码线程/重复利用解码/极低CPU占用/画面同步/进度同步
一.前言 共享解码线程主要是为了降低CPU占用,重复利用解码,毕竟在一个监控系统中,很可能打开了同一个地址,需要在多个不同的窗口中播放,形成多屏渲染的效果,做到真正的完全的画面同步,在主解码线程中切换 ...
- Qt编写地图综合应用30-世界地图
一.前言 世界地图也属于区域地图的一种,最开始做项目的时候只有国内的地图需求,后面有个客户他们的产品是面向国际市场,所以在大屏展示的时候,必须展示一张世界地图,所有箭头动态流向中国,当然这些都要离线使 ...
- error C1083: 无法打开包括文件:“iostream.h”: No such file or directory
用VS2010打开VC++6程序,按下F5键会发现有错误提示:error C1083: 无法打开包括文件:"iostream.h": No such file or directo ...
- Dynamic CRM插件中获取Entity属性值问题
插件中获取Entity不同类型字段时稍有区别,一般用如下两种方式: Entity targetEntity = (Entity)context.InputParameters["Target ...
- 安装docker-compose v1
1.首先要确保已经安装docker 2.下载docker-compose二进制文件,并移动到适当的目录 sudo curl -L "https://github.com/docker/com ...
- C# 给当前程序创建桌面快捷方式
C# 给当前程序创建桌面快捷方式 //by wgscd //date 2024-10-22 using System; using System.Reflection; using System.IO ...
- Java经典面试36题和答案
1."static"关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? "static"关键字表明一个成员 ...
- APSI - 1
最近在看[Labeled PSI from Homomorphic Encryption with Reduced Computation and Communication]的论文,看完后头大,现结 ...
- 微信小程序安全开发、测试的一些记录
目录 开发原则 漏洞类型--越权 漏洞类型--信息泄露 漏洞类型--爬虫遍历 漏洞类型--授权用户信息变更不跟进 漏洞类型--注入类 漏洞类型--上传.下载类 Reference 本文基于微信开发者平 ...