当前位置:首页 » 编程语言 » sql里real什么意思
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql里real什么意思

发布时间: 2022-08-03 16:25:27

sql 2000 real是什么类型

float [ ( n ) ]

从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。

n 所在范围 精度 存储大小
1-24 7 位数 4 字节
25-53 15 位数 8 字节

Microsoft® SQL Server™ float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。

real

从 ?3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)。

❷ SQL Server数据库--表--新建表时的数据类型都是什么意思啊

(1) 整数型
整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。
l bigint:大整数,数范围为 -263 (-9223372036854775808)~263-1 (9223372036854775807) ,其精度为19,小数位数为0,长度为8字节。
l int:整数,数范围为 -231 (-2,147,483,648) ~231 - 1 (2,147,483,647) ,其精度为10,小数位数为0,长度为4字节。
l smallint:短整数,数范围为 -215 (-32768) ~215 - 1 (32767) ,其精度为5,小数位数为0,长度为2字节。
l tinyint:微短整数,数范围为 0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。
(2) 精确整数型
精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。精确整数型包括decimal 和 numeric两类。从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。
声明精确整数型数据的格式是numeric | decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。
decimal和numeric可存储从 -1038 +1 到 1038 –1 的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。
l 精度为1~9时,存储字节长度为5;
l 精度为10~19时,存储字节长度为9;
l 精度为20~28时,存储字节长度为13;
l 精度为29~38时,存储字节长度为17。
例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。
注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。
(3) 浮点型
浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。
有两种近似数值数据类型:float[(n)]和real,两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20,-2.98E10,1.287659E-9等。
l real:使用4字节存储数据,表数范围为-3.40E + 38 到 3.40E + 38,数据精度为7位有效数字。
l float:定义中的n取值范围是1~53,用于指示其精度和存储大小。当n在1~24之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位有效数字;当n在25~53之间时,存储长度为8字节,精度为15位有效数字。当缺省n时,代表n在25~53之间。float型数据的数范围为- 1.79E+308 到 1.79E+308。
(4) 货币型
SQL Server提供了两个专门用于处理货币的数据类型:money和smallmoney,它们用十进制数表示货币值。
l money:数据的数范围为-263 (-922337203685477.5808)~263-1 (922337203685477.5807) ,其精度为19,小数位数为4,长度为8字节。money的数的范围与bigint相同,不同的只是money型有4位小数,实际上,money就是按照整数进行运算的,只是将小数点固定在末4位。
l smallmoney:数范围为 –231 (-2,147,48.3648) ~231 - 1 (2,147,48.3647) ,其精度为10,小数位数为4,长度为4字节。可见smallmoney与int的关系就如同money与bigint的关系。
当向表中插入money或smallmoney类型的值时,必须在数据前面加上货币表示符号($),并且数据中间不能有逗号(,);若货币值为负数,需要在符号$的后面加上负号(-)。例如:$15000.32,$680,$-20000.9088都是正确的货币数据表示形式。
(5) 位型
SQL Server中的位(bit)型数据相当于其他语言中的逻辑型数据,它只存储0和1,长度为一个字节。但要注意,SQL Server对表中bit类型列的存储作了优化:如果一个表中有不多于 8 个的bit列,这些列将作为一个字节存储,如果表中有 9 到 16 个 bit 列,这些列将作为两个字节存储,更多列的情况依此类推。
当为bit类型数据赋0时,其值为0,而赋非0(如100)时,其值为1。
若表中某列为bit类型数据,那么该列不允许为空值(有关空值概念本节稍后即做介绍),并且不允许对其建立索引。
(6) 字符型
字符型数据用于存储字符串,字符串中可包括字母、数字和其它特殊符号(如#、@、&等等)。在输入字符串时,需将串中的符号用单引号或双引号括起来,如’abc’、”Abc<Cde”。
SQL Server字符型包括两类:固定长度 (char) 或可变长度 (varchar) 字符数据类型。
l char[(n)]
定长字符数据类型,其中n定义字符型数据的长度,n在1到8000之间,缺省为1。当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则在串的尾部添加空格以达到长度n,所以char(n)的长度为n。例如某列的数据类型为char(20),而输入的字符串为”ahjm1922”,则存储的是字符ahjm1922和12个空格。若输入的字符个数超出了n,则超出的部分被截断。
l varchar[(n)]
变长字符数据类型,其中n的规定与定长字符型char中n完全相同,但这里n表示的是字符串可达到的最大长度。varchar(n)的长度为输入的字符串的实际字符个数,而不一定是n。例如,表中某列的数据类型为varchar(100),而输入的字符串为”ahjm1922”,则存储的就是字符ahjm1922,其长度为8字节。
当列中的字符数据值长度接近一致时,例如姓名,此时可使用 char;而当列中的数据值长度显着不同时,使用varchar较为恰当,可以节省存储空间。
(7) Unicode字符型
Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。SQL Server的Unicode字符型可以存储Unicode标准字符集定义的各种字符。
Unicode字符型包括nchar[(n)]和nvarchar[(n)]两类。nchar是固定长度 Unicode 数据的数据类型,nvarchar 是可变长度 Unicode 数据的数据类型,二者均使用 UNICODE UCS-2 字符集。
l nchar[(n)]:nchar[(n)]为包含n个字符的固定长度 Unicode 字符型数据,n 的值在 1 与 4,000 之间,缺省为1。长度为2n字节。若输入的字符串长度不足n,将以空白字符补足。
l nvarchar[(n)]:nvarchar[(n)]为最多包含n个字符的可变长度 Unicode 字符型数据,n 的值在 1 与 4,000之间,缺省为1。长度是所输入字符个数的两倍。
实际上,nchar、nvarchar与char、varchar的使用非常相似,只是字符集不同(前者使用Unicode字符集,后者使用ASCII字符集)。
(8) 文本型
当需要存储大量的字符数据,如较长的备注、日志信息等等,字符型数据的最长8000个字符的限制可能使它们不能满足这种应用需求,此时可使用文本型数据。
文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。text类型可以表示最大长度为 231-1 (2,147,483,647) 个字符,其数据的存储长度为实际字符数个字节。ntext可表示最大长度为 230 - 1 (1,073,741,823) 个Unicode字符,其数据的存储长度是实际字符个数的两倍(以字节为单位)。
(9) 二进制型
二进制数据类型表示的是位数据流,包括binary(固定长度)和varbinary(可变长度)两种。
l binary [(n) ]:固定长度的n个字节二进制数据。n取值范围为 1 到 8,000,缺省为1。binary(n)数据的存储长度为 n+4 字节。若输入的数据长度小于n,则不足部分用0填充;若输入的数据长度大于n,则多余部分被截断。
输入二进制值时,在数据前面要加上0x,可以用的数字符号为0—9、A—F(字母大小写均可)。因此,二进制数据有时也被称为十六进制数据。例如0xFF、0x12A0分别表示值FF和12A0。因为每字节的数最大为FF,故在“0x”格式的数据每两位占1个字节。
l varbinary [(n) ]:n个字节变长二进制数据。n取值范围为 1 到 8,000,缺省为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。
(10) 日期时间类型
日期时间类型数据用于存储日期和时间信息,包括datetime和smalldatetime两类。
l datetime:datetime类型可表示的日期范围从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(3.33 毫秒或 0.00333 秒),例如1到3毫秒的值都表示为0毫秒,4到6毫秒的值都表示为4毫秒。
datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4 字节用于存储datetime类型数据中距1900 年 1 月 1 日的天数,为正数表示日期在1900年1月1日之后,为负数则表示日期在1900年1月1日之前。后4个字节用于存储datetime类型数据中距12:00(24小时制)的毫秒数。
用户以字符串形式输入datetime类型数据,系统也以字符串形式输出datetime类型数据,将用户输入到系统以及系统输出的datetime类型数据的字符串形式称为datetime类型数据的“外部形式”,而将datetime在系统内的存储形式称为“内部形式”,SQL Server负责datetime类型数据的两种表现形式之间的转换,包括合法性检查。
用户给出datetime类型数据值时,日期部分和时间部分分别给出。
日期部分的表示形式常用的格式如下:

年 月 日 2001 Jan 20、2001 Janary 20
年 日 月 2001 20 Jan
月 日[,]年 Jan 20 2001、Jan 20,2001、Jan 20,01
月 年 日 Jan 2001 20
日 月[,]年 20 Jan 2001、20 Jan,2001
日 年 月 20 2001 Jan
年(4位数) 2001表示2001年1月1日
年月日 20010120、010120
月/日/年 01/20/01、1/20/01、01/20/2001、1/20/2001
月-日-年 01-20-01、1-20-01、01-20-2001、1-20-2001
月.日.年 01.20.01、1.20.01、01.20.2001、1.20.2001

说明:年可用4位或2位表示,月和日可用1位或2位表示。
时间部分常用的表示格式如下:

时:分 10:20、08:05
时:分:秒 20:15:18、20:15:18.2
时:分:秒:毫秒 20:15:18:200
时:分AM|PM 10:10AM、10:10PM

l smalldatetime:smalldatetime类型数据可表示从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间,数据精确到分钟,即29.998 秒或更低的值向下舍入为最接近的分钟,29.999 秒或更高的值向上舍入为最接近的分钟。Smalldatetime类型数据的存储长度为4字节,前2个字节用来存储smalldatetime类型数据中日期部分距1900年1月1日之后的天数;后2个字节用来存储smalldatetime类型数据中时间部分距中午12点的分钟数。
用户输入smalldatetime类型数据的格式与datetime类型数据完全相同,只是它们的内部存储可能不相同。
(11) 时间戳型
标识符是timestamp。若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。记录timestamp列的值实际上反映了系统对该记录修改的相对(相对于其他记录)顺序。一个表只能有一个timestamp 列。Timestamp类型数据的值实际上是二进制格式数据,其长度为8字节。
(12) 图象数据类型
标识符是image,它用于存储图片、照片等。实际存储的是可变长度二进制数据,介于 0 与 231-1 (2,147,483,647) 字节之间。
(13) 其它数据类型
除了上面所介绍的常用数据类型外,SQL Server 2000还提供了其它几种数据类型:cursor、sql_variant、table和uniqueidentifier。
Cursor:是游标数据类型,用于创建游标变量或定义存储过程的输出参数。
Sql_variant:是一种存储 SQL Server 支持的各种数据类型(除text、ntext、image、timestamp 和 sql_variant 外)值的数据类型。Sql_variant的最大长度可达 8016 字节。
Table:是用于存储结果集的数据类型,结果集可以供后续处理。
Uniqueidentifier:是唯一标识符类型。系统将为这种类型的数据产生唯一标识值,它是一个16字节长的二进制数据。

❸ SQL 中有哪几种类型的变量,各自有什么特点。

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

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

smallint
整型
smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2 字节空间

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

numeric
精确数值型
numeric数据类型与decimal 型相同

decimal
精确数值型
decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

money
货币型
money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一

smallmoney
货币型
smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一

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

real
近似数值型
real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数

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

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

cursor
特殊数据型
cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用

timestamp
特殊数据型
timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的

Uniqueidentifier
特殊数据型
Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列

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

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

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

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

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

ntext
统一编码字符型
ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍

binary
二进制数据类型
binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型

varbinary
二进制数据类型
varbinary 数据类型用来存储可达8000 字节长的变长的二进制数据。当输入表的内容大小可变时,你应该使用这种数据类型

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

❹ sql Server中float、real、decimal(numeric)数据类型的区别

decimal(numeric ) 同义,用于精确存储数值 decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。 numeric 和 decimal 数据类型的默认最大精度值是 38。在 Transact-SQL 中,numeric 与 decimal 数据类型在功能上等效。当数据值一定要按照指定精确存储时,可以用带有小数的 decimal 数据类型来存储数字。转换 decimal 和 numeric 数据对于 decimal 和 numeric 数据类型,Microsoft? SQL Server? 将精度和小数位数的每个特定组合看作是不同的数据类型。例如,decimal(5,5) 和 decimal(5,0) 被当作不同的数据类型。在 Transact-SQL 语句中,带有小数点的常量自动转换为 numeric 数据值,且必然使用最小的精度和小数位数。例如,常量 12.345 被转换为 numeric 值,其精度为 5,小数位为 3。从 decimal 或 numeric 向 float 或 real 转换会导致精度损失。从 int、smallint、tinyint、float、real、money 或 smallmoney 向 decimal 或 numeric 转换会导致溢出。默认情况下,在将数字转换为较低精度和小数位数的 decimal 或 numeric 值时,SQL Server 使用舍入法。然而,如果 SET ARITHABORT 选项为 ON,当发生溢出时,SQL Server 会出现错误。若仅损失精度和小数位数,则不会产生错误。

❺ cast(avg(cast(grade as real))as numeric(5,2))as 平均成绩里面的real是什么意思

cast(column as 数据类型)是MySQL中类型转换的函数;
REAL是一种浮点数字类型,在默认情况下,REAL相当于DOUBLE,如果SQL服务器模式包括REAL_AS_FLOAT选项,REAL就相当于FLOAT;