numeric[ (p[ ,s] )]固定精度和小数位数使用最大精度时。
numeric的有效值的范围为 - 10^38 +1 到 10^38 - 1decimal 的 ISO 同义词为 dec 和 dec(p、s)numeric 在功能上等价于 decimal
p(精度)
最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数该精度必须是从 1 到最大精度 38 之间的值默认精度为 18
s (小数位数)
小数点右边可以存储的十进制数字的最大位数小数位数必须是从 0 到 p 之间的值仅在指定精度后才可以指定小数位数默认的小数位数为 0;因此,0
sql server2005中数据类型百的Numeric(18,0)意思是总的位数为18位数字,小数点后的位数为0位。
NUMERIC数据类型使用标准、可变长度的内部格式来存储数字。
Microsoft Jet 数据库引擎 SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。常见的有:整形,单精度,双精度,可变长度字符,固定长度字符,长型,日期等等。
扩展资料:
创建用户定义的数据类型可以使用Transact-SQL语句。系统存储过程sp_addtype 可以来创建用户定义的数据类型。其语法形式如下:
sp_addtype {type},[,system_data_bype][,'null_type']
其中,type 是用户定义的数据类型的名称。system_data_type 是系统提供的数据类型,例如 Decimal、Int、Char 等等。
null_type 表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'NULL'、'NOT NULL'或者'NONULL'。
倒着看,多试试吧。不能把目标数据库的字段类型改成double吗?
---------------------------
decimal(numeric ) 同义,用于精确存储数值
decimal 数据类型最多可存储 38 个数字,所有数字都能够放到小数点的右边。decimal 数据类型存储了一个准确(精确)的数字表达法;不存储值的近似值。
定义 decimal 的列、变量和参数的两种特性如下:
p 小数点左边和右边数字之和,不包括小数点。如 12345,则 p=5,s=2。
指定精度或对象能够控制的数字个数。
s
指定可放到小数点右边的小数位数或数字个数。
p 和 s 必须遵守以下规则:0 <= s <= p <= 38。
numeric 和 decimal 数据类型的默认最大精度值是 38。在 Transact-SQL 中,numeric 与 decimal 数据类型在功能上等效。
当数据值一定要按照指定精确存储时,可以用带有小数的 decimal 数据类型来存储数字。
转换 decimal 和 numeric 数据
对于 decimal 和 numeric 数据类型,Microsoft SQL Server 将精度和小数位数的每个特定组合看作是不同的数据类型。例如,decimal(5,5) 和 decimal(5,0) 被当作不同的数据类型。
在 Transact-SQL 语句中,带有小数点的常量自动转换为 numeric 数据值,且必然使用最小的精度和小数位数。例如,常量 12345 被转换为 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 会出现错误。若仅损失精度和小数位数,则不会产生错误。
数据库中的numeric与kettle什么类型对应
SQL的DECIMAL 和 NUMERIC通常用来表示需要一定精度的定点数。在Java的简单数据类型中,没有一种类型与之相对应。但从JDK11开始,Sun公司在javamath包中加入了一个新的类BigDecimal,该类的对象可以与DECIMAL 、NUMERIC进行转换。
另外,当从数据库管理系统中读取数据时,还可以用getString()方法来获取DECIMAL 和 NUMERIC。
1常规Hibernate 映射
integer 或者 int
int 或者 javalangInteger
INTEGER
4 字节
long
long Long
BIGINT
8 字节
short
short Short
SMALLINT
2 字节
byte
byte Byte
TINYINT
1 字节
float
float Float
FLOAT
4 字节
double
double Double
DOUBLE
8 字节
big_decimal
javamathBigDecimal
NUMERIC
NUMERIC(8,2)8 位
character
char Character String
CHAR(1)
定长字符
string
String
VARCHAR
变长字符串
boolean
boolean Boolean
BIT
布尔类型
yes_no
boolean Boolean
CHAR(1) (Y-N)
布尔类型
true_false
boolean Boolean
CHAR(1) (T-F)
布尔类型
2 、 Java 时间和日期类型的 Hibernate 映射
映射类型
Java 类型
标准 SQL 类型
描述
date
utilDate 或者 sqlDate
DATE
YYYY-MM-DD
time
Date Time
TIME
HH:MM:SS
timestamp
Date Timestamp
TIMESTAMP
YYYYMMDDHHMMSS
calendar
calendar
TIMESTAMP
YYYYMMDDHHMMSS
calendar_date
calendar
DATE
YYYY-MM-DD
3 、 Java 大对象类型的 Hibernate 映射类型
映射类型
Java 类型
标准 SQL 类型
MySQL 类型
Oracle 类型
binary
byte[]
VARBINARY( 或 BLOB)
BLOB
BLOB
text
String
CLOB
TEXT
CLOB
serializable
Serializable 接口任意实现类
VARBINARY( 或 BLOB)
BLOB
BLOB
clob
javasqlClob
CLOB
TEXT
CLOB
blob
javasqlBlob
BLOB
BLOB
BLOB
在程序中通过 Hibernate 来保存 javasqlClob 或者 javasqlBlob 实例时,必须包含两个步骤:
1在一个数据库事务中先保存一个空的 Blob 或 Clob 实例。
2接着锁定这条记录,更新上面保存的 Blob 或 Clob 实例,把二进制数据或文本数据写到 Blob 或 Clob 实例中
以上就是关于sybase数据库中numeric最大数是多少如何计算的全部的内容,包括:sybase数据库中numeric最大数是多少如何计算的、sql server2005中数据类型的Numeric(18,0) 是什么意思、在插入数据到sql数据库时提示:将float转换为数据类型numeric时出现算术溢出错误,语句已终止等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)