用来处理很多数值方面的运算,使用数值函数,可以免去很多繁杂的判断求值的过程,能够大大提高用户的工作效率。
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。
上一篇我们学习了server层对于表对象缓存的处理,表对象获取到之后,通过handler才具备了与存储引擎交互的能力。那么存储引擎层又是怎么个流程呢?
我们要把现实世界中的各种信息转换成计算机能理解的东西,这些转换后的信息就形成了数据。例 如,某人的出生日期是“1987年5月23日”,他的身高是170厘米,等等。数据不仅包括数字、字母、文字和其他特殊字符组成的文本形式的数据,而且还 包括图形、图像、动画、影像、声音等多媒体数据。但使用最多、最基本的仍然是文本数据。
1.mysql数据类型 (1)数值数据类型:包括整数类型tinyint、smallint、mediumint、int、bigint,浮点小数类型float和double,定点小数类型decimal。 (2)日期/时间类型:包括year、time、date、datetime和timestamp。 (3)字符串类型:包括char、varchar、binary、varbinary、blob、text、enum和set等 (4)二进制类型:包括bit、binary、varbinary、tinyblob、blob、m
存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的
MySQL 数据库函数提供了能够实现各种功能的方法,使我们在查询记录时能够更高效的输出。MySQL 内建了很多函数,常用的包括数学函数、聚合函数、字符串函数和日期时间函数。
MySQL提供了5种数据类型:整数类型、浮点数类型、定点数类型、日期和时间类型、字符串类型和二进制类型。
MySQL数据类型 MySQL支持多种数据类型,主要有数值类型、日期/时间类型和字符串类型。 数值数据类型:包括整数类型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、浮点小数数据类型FLOAT和DOUBLE、定点小树类型DECIMAL。 日期/时间类型:包括YEAR、TIME、DATE、DATETIME和TIMESTAMP。 字符串类型:包括CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET等。 1.1 整数类型 数值型数
1.MySQL中关于函数的说明 2.单行函数分类 3.字符函数 1)length(str):获取参数值的字节个数; 2) concat(str1,str2,…):拼接字符串; 3)upper(str):将字符中的所有字母变为大写; 4)lower(str):将字符中所有字母变为小写; 5)substr(str,start,[len]):从start位置开始截取字符串,len表示要截取的长度; 6)instr(str,要查找的子串):返回子串第一次出现的索引,如果找不到,返回0; 7)trim(str):去掉字符串前后的空格; 8)lpad(str,len,填充字符):用指定的字符,实现对字符串左填充指定长度; 9)rpad(str,len,填充字符):用指定的字符,实现对字符串右填充指定长度; 10) replace(str,子串,另一个字符串):将字符串str中的字串,替换为另一个字符串; 4.数学函数 1)round(x,[保留的位数]):四舍五入; 2)ceil(x):向上取整,返回>=该参数的最小整数。(天花板函数) 3)floor(x):向下取整,返回<=该参数的最大整数。(地板函数) 4)truncate(x,D):截断; 5)mod(被除数,除数):取余; 5.日期时间函数 1)now():返回系统当前的日期和时间; 2)curdate():只返回系统当前的日期,不包含时间; 3)curtime():只返回系统当前的时间,不包含日期; 4)获取日期和时间中年、月、日、时、分、秒; 5)weekofyear():获取当前时刻所属的周数; 6)quarter():获取当前时刻所属的季度; 7)str_to_date():将日期格式的字符串,转换成指定格式的日期; 8)date_format():将日期转换成日期字符串; 9)date_add() + interval:向前、向后偏移日期和时间; 10)last_day():提取某个月最后一天的日期; 11)datediff(end_date,start_date):计算两个时间相差的天数; 12)timestampdiff(unit,start_date,end_date):计算两个时间返回的年/月/天数; 6.其它常用系统函数 7.流程控制函数 1)if函数:实现if-else的效果; 2)ifnull函数:判断值是否为null,是null用指定值填充; 3)case…when函数的三种用法; ① case … when用作等值判断的语法格式; ② case … when用作区间判断的语法格式; ③ case…when与聚合函数的联用 8.聚合函数 1)聚合函数的功能和分类; ① 聚合函数的功能; ② 聚合函数的分类; 2)聚合函数的简单使用; 3)五个聚合函数中传入的参数,所支持的数据类型有哪些? ① 测试数据; ② sum()函数和avg()函数:传入整型/小数类型才有意义; ③ max()函数和min()函数:传入整型/小数类型、日期/时间类型意义较大; ④ count()函数:可以传入任何数据类型,但是碰到null要注意; ⑤ count()函数碰到null值需要特别注意; ⑥ count(1),count(0)表示的是啥意思呢? ⑦ count(*)计数的效率问题; 4)聚合函数和group by的使用“最重要”;
在Math类中提供了众多数学函数方法,主要包括三角函数,指数函数,取整函数方法,最大值,最小值等等,用法如下: Math.数学方法 除了数学函数外,还有一些数学常量,例如PI,E,可以用Math.PI调用,下面列出一些常见的数学运算方法。
第二层架构是MySQL比较有意思的部分,大多数MySQL的核心服务功能都在这一层,包括增删查改以及所有的内置函数。 所有跨存储引擎的功能都在这一层实现,存储过程、触发器、视图等。
= 判断等号两边的值,字符串或表达式是否相等,如果相等则返回1,不相等则返回0. 需要遵守如下规则: 1.如果等号两边都为字符串,则Mysql会按照字符串进行比较,其比较的是每个字符的ANSI编码是否相等。 2.如果等号两边都是整数。则会按照两个整数的值来比较大小。 3.如果等号两边一个是整数,一个是字符串,则Mysql会将·字符串转换成数字进行比较。 4.如果等号两边有一个为NULL,则比较结果为NULL
MySQL不同存储引擎可能会有不同。下面的内容以InnoDB为主。 选择数据类型的步骤 确定合适的大类型:数字、字符串、时间、二进制 确定具体的类型:有无符号、取值范围、变长定长等。 整数类型 类型 字节数 范围 TNIYINT 1 -128~127 SMALLINT 2 -32767~32768 MEDIUMINT 3 -8388608~8388607 INT 4 -2147483648~2147483647 BIGINT 8 -9223372036854775808~922337203685477
真理永远都不过时,今天由于工作的事情涉及到了这里,印象中只记得DATETIME类型占用8字节,TIMESTAMP类型占用4字节,心想这么久没有更新的知识万一过时了咋办,毕竟MySQL8都有了,于是翻开了MySQL的官网,决定查一查这两个字段的区别。
熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好。MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤。
整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。 主要存贮的是数字类型数据,常用 INT 类型存储 它们的区别如下表所示:
选择数据类型的原则 MySQL支持多种数据类型,选择合适的数据类型存储数据对MySQL存储引擎来说至关重要,下面的一些原则可以在选择数据类型的时候做出更合适的选择。 选择最小数据类型 通常情况下,选择可以正确存储数据的最小数据类型。因为最小数据类型占用的磁盘、内存和缓存更少,执行的更快。在选择合适最小数据类型的时候,选择你认为不会超出范围的最小类型。 选择简单数据类型 简单数据类型的各种操作通常需要更少的CPU周期。 避免列值为NULL 除非非常有必要,通常情况下,需要将列值设置为NOT NULL。NULL
向上取整 ceiling(),ceiling是天花板的意思,就是取大于该数的最小整数
大牛不必浪费时间了,适合初学者。 今天遇到一个问题,数据库字段问题。 有一张表存储着用户消费记录,设计表时使用的是整形,后来增加需求,需要对业务做些改动,改过之后测试发现存储0.2,0.51这样的浮点类型无法保存上,结果是0,1之类的,经过调试发现数据库字段问题,于是修改了字段类型,sql语句: ALTER TABLE `db_action`.`money_record` CHANGE `c_money` `c_money` decimal(11,2) unsigned NOT NULL DEFAULT
在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。
一、数据类型介绍: (1)数据表由多个字段组成,每一个字段都指定了自己的数据类型,指定了数据类型后,也就决定了向字段插入数据的内容; (2)不同的数据类型也决定了MySQL在存储数据的时候使用的方式,以及在使用数据的时候选择什么运算符进行运算; (3)数值数据类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、FLOAT、DOUBLE、DECIMAL (4)日期/时间数据:YEAR、TIME、DATE、DATETIME、TIMESTAMP (5)字符串数据类型:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM、SET 二、数值类数据类型: (1)数值类数据类型主要用来存储数字,不同的数值类型提供不同的取值范围,可以存储的值范围越大,需要的存储空间也越大; (2)数值型分为:整数类型,浮点数类型,定点数类型;
首先数据选择有几个简单原则: 更小的通常更好。一般情况下,应该尽量使用可以正确存储数据的最小数据类型。例如只需要存 0~200,tinyint unsigned 更好。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和 CPU 缓存,并且处理时需要的 CPU 周期也更少。 简单就好。简单数据类型的操作通常需要更少的 CPU 周期。例如,整型比字符操作代价更低,因为字符集和校对规则(排序规则)使字符比较 比 整型比较更复杂。这里有两个例子:一个是应该使用 MySQL 内建的类型(date, time, d
熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好。MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤,对这个过程不了解的同学可以先行阅读一下《MySQL复杂where条件分析》。
MySQL支持SQL标准整数类型 INTEGER(或 INT)和SMALLINT。作为标准的扩展,MySQL还支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。下表显示了每个整数类型所需的存储和范围。.
文章目录 1. 前言 2. Mysql 2.1. 什么是SQL? 2.2. 什么是MySQL? 2.3. 数据库三大范式是什么? 2.4. mysql有关权限的表都有哪几个? 2.5. MySQL的
随着近些年来数据库技术发展演进,及国内数据库日益活跃。越来越多的企业将数据库从传统商业数据库迁移到开源或国产数据库平台。本文对比了最为常见的一种情况,从Oracle迁移到MySQL需要关注的一些差异点。这方便应用研发在迁移之初做好必要的评估备。此外,因MySQL生态发展很广泛,很多数据库产品会将MySQL作为兼容的首选。因此,很多其他类型的数据库迁移,也可以参考此文内容。
在业务离线数据分析场景下,往往需要将Mysql中的数据先导出到分布式存储中,如Hive、Iceburg。这个功能实现的方式有很多,但每种方式都会遇到一些问题(包括阿里开源的DataX)。本文就介绍下这个功能的优化之路,并最终给出一个笔者实现的终极方案。
trunc (x, y),y 为返回的小数位数,如果不传y,则默认为0,返回整数。
大家好,我是小菜,一个渴望在互联网行业做到蔡不菜的小菜。可柔可刚,点赞则柔,白嫖则刚!死鬼~看完记得给我来个三连哦!
数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。有一些数据是要存储为数字的,数字当中有些是要存储为整数、小数、日期型等...
作者: 蔡不菜丶 juejin.im/post/5ed3b3fb6fb9a047ed240575 概念: 相当于java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 隐藏了实现细节 提高代码的可重用性 使用: select 函数名(实参列表)【from 表】 【】中内容可省略 正文: 字符函数: length:获取字节个数(utf-8 一个汉字为3个字节,gbk为2个字节) SELECT LENGTH('cbuc') # 输出 4 SELECT LENGTH('蔡不菜cbuc'
作者: 蔡不菜丶 juejin.im/post/5ed3b3fb6fb9a047ed240575 概念: 相当于java中的方法,将一组逻辑语句封装在方法体中,对外暴露方法名 隐藏了实现细节 提高代码的可重用性 使用: select 函数名(实参列表)【from 表】 【】中内容可省略 正文: 字符函数: length:获取字节个数(utf-8 一个汉字为3个字节,gbk为2个字节) SELECT LENGTH('cbuc') # 输出 4 SELECT LENGTH('蔡不菜cbuc
数学函数 abs(n) 返回n的绝对值 mysql> select abs(2); -> 2 mysql> select abs(-32); -> 32 sign(n) 返回参数的符号(为-1、0或1) mysql> select sign(-32); -> -1 mysql> select sign(0); -> 0 mysql> select sign(234); -> 1 mod(n,m) 取模运算,返回n被m除的余数(同%操作符) mysql> select mod(234, 10); -> 4 mysql> select 234 % 10; -> 4 mysql> select mod(29,9); -> 2 floor(n) 返回不大于n的最大整数值 mysql> select floor(1.23); -> 1 mysql> select floor(-1.23); -> -2 ceiling(n) 返回不小于n的最小整数值 mysql> select ceiling(1.23); -> 2 mysql> select ceiling(-1.23); -> -1 round(n,d) 返回n的四舍五入值,保留d位小数(d的默认值为0) mysql> select round(-1.23); -> -1 mysql> select round(-1.58); -> -2 mysql> select round(1.58); -> 2 mysql> select round(1.298, 1); -> 1.3 mysql> select round(1.298, 0); -> 1 exp(n) 返回值e的n次方(自然对数的底) mysql> select exp(2); -> 7.389056 mysql> select exp(-2); -> 0.135335 log(n) 返回n的自然对数 mysql> select log(2); -> 0.693147 mysql> select log(-2); -> null log10(n) 返回n以10为底的对数 mysql> select log10(2); -> 0.301030 mysql> select log10(100); -> 2.000000 mysql> select log10(-100); -> null pow(x,y) power(x,y) 返回值x的y次幂 mysql> select pow(2,2); -> 4.000000 mysql> select pow(2,-2); -> 0.250000 sqrt(n) 返回非负数n的平方根 mysql> select sqrt(4); -> 2.000000 mysql> select sqrt(20); -> 4.472136 pi() 返回圆周率 mysql> select pi(); -> 3.141593 cos(n) 返回n的余弦值 mysql> select cos(pi()); -> -1.000000 sin(n) 返回n的正弦值 mysql> select sin(pi()); -> 0.000000 tan(n) 返回n的正切值 mysql> select tan(pi()+1); -> 1.557408 acos(n) 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null) mysql> select acos(1); -> 0.000000 mysql> select acos(1.0001); -> null mysql> select acos(0); -> 1.570796 asin(n) 返回n反正弦值 mysql> select a
我在上一篇文章,为你讲解完 order by 语句的几种执行模式后,就想到了之前一个做英语学习 App 的朋友碰到过的一个性能问题。今天这篇文章,我就从这个性能问题说起,和你说说 MySQL 中的另外一种排序需求,希望能够加深你对 MySQL 排序逻辑的理解。
我们都了解科学计数法。科学计数法的精妙之处在于,其将"量级"与"数值"两个信息拆分,让使用者对这两个信息更加明确。
公约数,亦称“公因数”。 它是一个能同时整除几个整数的数 。 如果一个整数同时是几个整数的 约数 ,称这个整数为它们的“公约数”。
整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT
整型是MySQL中最常用的字段类型之一,通常用于存储整数,其中int是整型中最常用的,对于int类型你是否真正了解呢?本文会带你熟悉int类型相关知识,也会介绍其他整型字段的使用。
给你一个整数数组 nums 和一个整数 k 。 请你向 nums 中追加 k 个 未 出现在 nums 中的、互不相同 的 正 整数,并使结果数组的元素和 最小 。
在Java开发中,我们有时需要取两个数字之间的随机数。例如,生成一个随机数作为验证码,或者选择一个随机的菜品推荐给用户等。本文将介绍如何使用Java语言来实现取两个数之间的随机数。
Java 语言是彻底地面向对象语言,哪怕是进行数学运算也封装到一个类中的,这个类是 java.lang.Math,Math 类是 final 的不能被继承。Math 类中包含用于进行基本数学运算的方法,如指数、对数、平方根和三角函数等。这些方法分类如下:
简单来说,微服务架构就是把传统的一个单体应用以一套"小服务"的方式进行开发,这些"小服务"可以运行在不同机器上,它们在自己的进程中运行,"小服务"之间可以通过像是 HTTP API 这样的轻量级的机制进行通信,这些"小服务"紧紧围绕项目的业务需求开发,同时,它们是以业务边界进行划分成独立的微服务。这些微服务看似独立又像是一个整体,构成了一个业务集群。
使用select对列进行查询时,不仅可以直接以列的原始值作为结果,而且还可以将列值进行计算后所得值作为查询结果,即select子句可以查询表达式的值,表达式可由列名、常量及算术运算符组成。 查询结果计算列显示“无列名”,一般要给计算列加列标题。 其中:表达式中可以使用的运算符有:加+、减-、乘*、除/、取余%
整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 BIGINT。
创建数据库的时候发现一个问题: 改变 length 的值, 不能影响到实际的存储长度! 秉着好奇心, 打开了 google ~ 引入大神的解答.
领取专属 10元无门槛券
手把手带您无忧上云