Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
POSTGRESQL中的ORACLE编号(*,0)等效项_Sql_Postgresql_Oracle_Database Migration_Sqldatatypes - Fatal编程技术网

POSTGRESQL中的ORACLE编号(*,0)等效项

POSTGRESQL中的ORACLE编号(*,0)等效项,sql,postgresql,oracle,database-migration,sqldatatypes,Sql,Postgresql,Oracle,Database Migration,Sqldatatypes,我在ORACLE中有一个表,其列的数据类型为NUMBER(*,0)。根据我的理解,这意味着精度将为38,因为这是精度的最大限制,刻度值将为0,这意味着小数点后不允许有数字,即将存储整数 我需要在PostgreSQL中创建相同的表。是否可以在PostgreSQL中写入数值(*,0)?如果没有,PostgreSQL与oracle数字(精度、刻度)中的数字(*,0)的等价物是什么 精度=如果未指定精度,则该列存储给定的值 比例=如果未指定比例,则比例为零 在sql中,postgresql numer

我在ORACLE中有一个表,其列的数据类型为
NUMBER(*,0)
。根据我的理解,这意味着精度将为38,因为这是精度的最大限制,刻度值将为0,这意味着小数点后不允许有数字,即将存储整数

我需要在PostgreSQL中创建相同的表。是否可以在PostgreSQL中写入
数值(*,0)
?如果没有,PostgreSQL与oracle数字(精度、刻度)中的数字(*,0)的等价物是什么

精度=如果未指定精度,则该列存储给定的值

比例=如果未指定比例,则比例为零

在sql中,postgresql

numeric(precision,scale)
精度=最大长度为38,默认值为18(在sql中)

在oracle数字(精度、刻度)

精度=如果未指定精度,则该列存储给定的值

比例=如果未指定比例,则比例为零

在sql中,postgresql

numeric(precision,scale)

precision=最大长度为38,sql中的默认值为18,Postgres支持任意精度数值。Oracle
number
类型的精度高达38位。因此,类型:

number(*, 0)
事实上:

number(38, 0)
在博士后中的等价物是:

numeric(38)
或:

然而。因此,如果您指定: 数字的


您将能够表示您一生中可能遇到或需要的任何数字。

Postgres支持任意精度的数值。Oracle
number
类型的精度高达38位。因此,类型:

number(*, 0)
事实上:

number(38, 0)
在博士后中的等价物是:

numeric(38)
或:

然而。因此,如果您指定: 数字的


您将能够表示您一生中可能遇到或需要的任何数字。

我将使用无精度的数字如果我只写数字,它不会以任何精度和比例创建吗?我想要一个0@Philippen的刻度,你应该调查一下你在那个列中存储了什么。也许在Postgres中用一个
bigint
就足够了?如果我只写数字,我会用数字而不精确,它会以任何精度和比例创建吗?我想要一个0@Philippen的刻度,你应该调查一下你在那个列中存储了什么。也许Postgres中的
bigint
就足够了?