Mysql按位运算自增?

Mysql按位运算自增?,第1张

MYSQL没有这样的功能,自增只能每次增加1,我们只可以控制初值为多少,无法指定增长规律。

但是你的这个需求比较特殊,你可以使用系统功能产生一个1、2、3....这有点自增列(例如id),你需要列值实际上是一个计算字段(2^(id-1)):2的id-1次方

MYSQL可以使用移位运算,例如:

SELECT id,2<<(id-1) FROM tab

mysql 本身这种数据库就有一定的模糊性。而且我没发现没有什么数据类型窥探的API。

--------------------------------------------------------------------------------------------------------------

select 0.89296-0.89288

以上这种是作为变长数据进行处理的。

如果你不信就设计一个表,用varchar存数字,用他们来计算,基本没有舍入误差,理由很简单,那是变长数据。

-----------------------------------------------------------------

select

t1.money as 1st,

t2.money as 2nd,

(t1.money - t2.money) as 3rd

from EURGBP t1

inner join y2p t2

on t1.date = t2.date

and t1.time = t2.time

where t1.date = '11/6/7' and t1.time = '23:56'

----

如果那个sql是以double进行运算,而double[n] 这种是定长数据,如果在有限的8字节存储空间中进行大范围存储,高精度是不可能的,它采用的科学计数法存储方式。

科学计数法采用的是有效数字。而不是高精度类型

---------

总结:你可以认为select 0.89296-0.89288 这种方式采用的是变长DECIMAL(M,D)进行运算。

DECIMAL属于高精度类型。

而你的sql是采用double进行的科学计数法运算。

--------

Look at: DECIMAL在mysql中是变长数据类型。

-----

LZ水平不错,入我团队吧!---->数据库聚贤庄 O(∩_∩)O哈哈~

关系运算包括四种:投影、选择、连接、除。

在任何一种数据库管理系统中(包括MySQL),投影对应于SELECT子句,选择对应于WHERE子句,连接对应于JOIN子句,但除没有直接的对应语句,需要根据题目的实际含义书写复杂的SQL,通常都会包含子查询。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/8625750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存