当前位置:首页 » 编程语言 » sql计算数据浮动
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql计算数据浮动

发布时间: 2023-01-24 12:56:57

A. sql数据库中的数字数据和浮点数据 实型数据的英文名分别是什么

tinyint 允许从 0 到 255 的所有数字。 1 字节

smallint 允许从 -32,768 到 32,767 的所有数字。 2 字节

int 允许从 -2,147,483,648 到 2,147,483,647 的所有数字。 4 字节

bigint 允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。 8 字节

decimal(p,s) 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
5-17 字节

numeric(p,s) 固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
5-17 字节

smallmoney 介于 -214,748.3648 和 214,748.3647 之间的货币数据。 4 字节
money 介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。 8 字节

float(n) 从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。 参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。 4 或 8 字节
real 从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。 4 字节

B. sql server 中float(15)是什么意思

float浮点型,15是长度,一般只有定义表的字段的时候,才会设置这个

C. 数据库sql:数值型与浮动型区别

怎么说呢?数值型也包括带小数点的和不带小数点的。
不带小数点的叫 整型 如果 1 2 3 -1 -3 等等。
带小数点也有好多中,如你说的浮点型、numeric .......大致用法一直,好像支持的数字大小有区别而已。

D. SQL最下面一栏选选了浮动,怎么找回来

QL最下面一栏选选了浮动,你说的是不是sql的窗口布局问题,如果是这样的话,你在上面的导航菜单依次:窗口---重置窗口布局,然后在弹出框点击确认就行

E. sql中怎么让一列大小不一的数据,随机上下波动百分之二十,生成一列新的数据

如果是sql server可以试下(比如原来的字段叫xx,新字段叫yy)
update tablename set yy=xx-xx*0.2+FLOOR(RAND()*xx*0.4)
你也可以先看看效果
select xx,xx-xx*0.2+FLOOR(RAND()*xx*0.4) from tablename

F. SQL计算电商各项指标数据

本次笔记主要是记录通过SQL计算电商各项指标数据,包括AARRR部分指标、RFM模型等常用的指标数据;

平台指标:

商品指标:

用户行为指标:

RFM模型:见之前的文章《 SQL建立RFM模型指标的两种方法对比 》

用户留存率:见之前文章《 SQL 查询用户留存率(根据两种不同定义计算) 》

首先我们导入相关数据,并去重数据放进新表 temp_trade;

由于时间关系,以导入如下数据,期间利用
SET date_time = STR_TO_DATE(time,'%Y-%m-%d %H');
set dates=date(date_time);
这两个函数对原表(红框)日期进行处理;

再检查一下关键字段有无缺失值

查询后得出并无缺失。

查询结果无异常值;

检查用户行为数据有没有其他类型;

查询结果无异常值;

-- 建新表,放进 去重后的 数据

create table temp_trade like o_retailers_trade_user;
insert into temp_trade select distinct * from o_retailers_trade_user;

查询结果:

这里定义跳失率=只有浏览行为的用户数/总用户数

查询结果

这里的购买转化率定义为:某段时间产生购买行为的用户数/所有到达店铺的访客人数

查询结果:

同时可以通过这算法求得:每天总行为次数、每天点击次数、收藏次数、加购物⻋次数、购买次数

查询结果如下:

由于转化率的对象是商品,所以以商品id做分组,求对应的用户行为数求和。可得出每商品的在该段时间内的浏览、收藏、加购、购买次数,同时可求得商品购买转化率。

查询结果:

此方法与上面商品转化率大致相同,分组对象改为品类id即可。

查询结果:

首先创建hours的新字段,并提取时间;

查询结果如下:

首先求出各用户的购买次数

查询结果:

用case when函数统计出各复购买次数的用户数

查询结果如下:

最后将行为串联起来,并对其进行用户数统计;

查询结果如下:

(完结)

G. SQL Server 里的int型取值范围是多少

SQLServer中int的默认长度是4,即4个32位字节,数据范围从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)用于int的sql-92单词是integer。

在支持整数值的地方支持Int数据类型。但是,在某些特殊情况下不能使用int,当整数值超过int数据类型支持的范围时可以使用bigint。在SQLServer中,int数据类型是主要的整数数据类型。

(7)sql计算数据浮动扩展阅读:

当转换成int,短整型,非常小的整数或bigint恒定值浮动,真实,小数,或数值数据类型隐式或显式地使用算术运算符(+,-,*,/或%,规则应用在评估精度的数据类型和表达式的结果取决于不同自动参数化查询。

因此,查询中相似的表达式有时会产生不同的结果。如果查询没有自动参数化,则在将常量值转换为指定的数据类型之前,首先将其转换为数值,该数据类型足够精确,可以保存常量的值。例如,常数值1被转换为数值(1,0),而常数值250被转换为数值(3,0)。

H. SQL中数据类型float与real的区别

一、意思不同

FLOAT浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。real是不精确的双精度浮点型,float 和 real 数据类型被称为近似的数据类型。

二、字节不同

real型数据的存储大小为4个字节,可精确到小数点后第7位数字。这种数据类型的数据存储范围为从-3.40E+38~-1.18E-38,0和1.18E-38~3.40E+38。

float型的数据存储大小为8个字节,可精确到小数点后第15位数字。这种数据类型的数据存储范围为从-1.79E+308~-2.23E-308,0和2.23E+308~1.79E+308。 FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。

二、写法

float型的数据可写成float[(n)]的形式。其中n是1~15之间的整数值,指定float型数据的精度。当n为1~7时,实际上用户定义了一个real型的数据,系统用4个字节存储;当n为8~15时,系统认为它是个float型的数据,用8个字节存储它。这样既增强了数据定义的灵活性,又节省了空间。

float 和 real 的使用遵循有关近似数值数据类型的 IEEE 754 规范。

I. SQL中数据类型有哪些

int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节

tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节

float 近似数值型 float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数

bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off

char 字符型 char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符

varchar 字符型 varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度

nchar 统一编码字符型 nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍

nvarchar 统一编码字符型 nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍

text 字符型 text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符

datetime 日期时间型 datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒

Smalldatetime 日期时间型 smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟

image 二进制数据类型 image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节

基本查询
select column1,columns2,...
from table_name
说明:把table_name 的特定栏位资料全部列出来
select *
from table_name
where column1 = ***
[and column2 > yyy] [or column3 <> zzz]
说明:
1.'*'表示全部的栏位都列出来。
2.where 之后是接条件式,把符合条件的资料列出来。

select column1,column2
from table_name
order by column2 [desc]
说明:order by 是指定以某个栏位做排序,[desc]是指从大到小排列,若没有指明,则是从小到大
排列

组合查询
组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的
表格才能够得到结果的。
select *
from table1,table2
where table1.colum1=table2.column1
说明:
1.查询两个表格中其中 column1 值相同的资料。
2.当然两个表格相互比较的栏位,其资料形态必须相同。
3.一个复杂的查询其动用到的表格可能会很多个。

整合性的查询:
select count (*)
from table_name
where column_name = ***
说明:
查询符合条件的资料共有几笔。
select sum(column1)
from table_name
说明:
1.计算出总和,所选的栏位必须是可数的数字形态。
2.除此以外还有 avg() 是计算平均、max()、min()计算最大最小值的整合性查询。
select column1,avg(column2)
from table_name
group by column1
having avg(column2) > ***
说明:
1.group by: 以column1 为一组计算 column2 的平均值必须和 avg、sum等整合性查询的关键字
一起使用。
2.having : 必须和 group by 一起使用作为整合性的限制。

复合性的查询
select *
from table_name1
where exists (
select *<BR>from table_name2
where conditions )
说明:
1.where 的 conditions 可以是另外一个的 query。
2.exists 在此是指存在与否。
select *
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
说明:
1. in 后面接的是一个集合,表示column1 存在集合里面。
2. select 出来的资料形态必须符合 column1。

其他查询
select *
from table_name1
where column1 like 'x%'
说明:like 必须和后面的'x%' 相呼应表示以 x为开头的字串。
select *
from table_name1
where column1 in ('***','yyy',..)
说明:in 后面接的是一个集合,表示column1 存在集合里面。
select *
from table_name1
where column1 between xx and yy
说明:between 表示 column1 的值介于 xx 和 yy 之间。

3、更改资料:
update table_name
set column1='***'
where conditoins
说明:
1.更改某个栏位设定其值为'***'。
2.conditions 是所要符合的条件、若没有 where 则整个 table 的那个栏位都会全部被更改。

4、删除资料:
delete from table_name
where conditions
说明:删除符合条件的资料。

说明:关于where条件后面如果包含有日期的比较,不同数据库有不同的表达式。具体如下:
(1)如果是access数据库,则为:where mydate>#2000-01-01#
(2)如果是oracle数据库,则为:where mydate>cast('2000-01-01' as date)
或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
在delphi中写成:
thedate='2000-01-01';
query1.sql.add('select * from abc where mydate>cast('+''''+thedate+''''+' as date)');

如果比较日期时间型,则为:
where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')

4、增加资料:
insert into table_name (column1,column2,...)
values ( value1,value2, ...)
说明:
1.若没有指定column 系统则会按表格内的栏位顺序填入资料。
2.栏位的资料形态和所填入的资料必须吻合。
3.table_name 也可以是景观 view_name。

insert into table_name (column1,column2,...)
select columnx,columny,... from another_table
说明:也可以经过一个子查询(subquery)把别的表格的资料填入。