工程测量中的"比例因子"英文"scale factor"是何意?谢谢!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程测量中的"比例因子"英文"scale factor"是何意?谢谢!相关的知识,希望对你有一定的参考价值。

"比例因子"=英文"scale factor",
一般1/500,取0.5(以1000为标准),与比例尺略有不同,但表书的目的与结果一致.
比例因子还通常指对象的比例系数.
参考技术A 就和地图上的比例一样的啊
比如比例是1:10000,实际中100m在图纸上就是0.01m。
参考技术B 可以理解为比例尺的意思

Oracle 中的“NUMBER”和“NUMBER(*,0)”是不是相同?

【中文标题】Oracle 中的“NUMBER”和“NUMBER(*,0)”是不是相同?【英文标题】:Is "NUMBER" and "NUMBER(*,0)" the same in Oracle?Oracle 中的“NUMBER”和“NUMBER(*,0)”是否相同? 【发布时间】:2015-03-28 06:21:59 【问题描述】:

在 Oracle documentation 中提到

NUMBER(精度、比例)

如果未指定精度,则列存储给定值。如果 没有指定比例,比例为零。

但是NUMBER(没有精度和比例)也接受浮点数(34.30),但根据文档,如果未指定比例,则默认情况下它应该是零比例,所以它应该只允许整数,我错了吗?

在another questions 中提到

默认精度为 38,默认比例为零

所以NUMBERNUMBER(*,0) 应该相等,但它们不是。

我哪里错了?

【问题讨论】:

【参考方案1】:

我认为文档中的那句话

如果未指定精度,则列存储给定值。如果未指定比例,则比例为零。

有点混乱。 如果指定了精度但未指定比例,则比例为零。因此,例如,NUMBER(19) 等价于 NUMBER(19,0)NUMBER 本身将具有 38 位 precision 但未定义 scale。因此,定义为 NUMBER 的列可以接受 任何 刻度的值,只要它们的精度为 38 位或更少(基本上是 38 位数字,任何位置都有小数点)。 p>

您还可以指定不带精度的比例:NUMBER(*, <scale>),但这只会创建具有 38 位精度的列,所以我不确定它是否特别有用。

this page 上的表比例因子如何影响数字数据存储可能会有所帮助。

【讨论】:

【参考方案2】:

scale 的默认值不为零,它没有任何值。因此它可以接受-84 to 127 之间的任何值。如果将其限制为零,则即使该值包含比例值,它也不会接受任何精度

create table aaaaa
(
sno number(*,0),
sno1 number
);

user_tab_columns 将为您提供精度和规模的价值

SQL> select column_name,data_precision,data_scale from user_tab_columns where ta
ble_name = 'AAAAA';

COLUMN_NAME                    DATA_PRECISION DATA_SCALE
------------------------------ -------------- ----------
SNO                                                    0
SNO1

SQL>

请看下面的工作原理

SQL> select * from aaaaa;

no rows selected

SQL> insert into aaaaa values (123.123123,123123.21344);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from aaaaa;

       SNO       SNO1
---------- ----------
       123 123123.213

SQL>

【讨论】:

为什么“选择”语句的输出限制为“SNO1”列的“123123.213”?这是您的 SQL 客户端的限制吗?由于“NUMBER”没有设置比例限制,所以结果应该是“123123.21344”(小数点后五位)。 作为补码,NUMBER(*,0) 相当于将 INT 或 INTEGER 写为类型。它在视觉上非常清晰,您会看到它创建了一个 NUMBER(38,0)。有一些关于 NUMBER(*,0) 和 NUMBER(38,0) 之间某些区别的讨论,但我想它非常微妙。【参考方案3】:

Oracle documentation 的这一部分说得很清楚:

使用以下形式指定一个整数:

NUMBER(p)

这表示一个精度为 p 且小数位数为 0 的定点数,等效于 NUMBER(p,0)。

使用以下形式指定一个浮点数:

数字

没有精度和小数位数指示符指定了 Oracle 数字的最大范围和精度。

star 精度的含义记录在here,表示精度为 38

【讨论】:

【参考方案4】:

另一个松鼠案例,但我遇到过...如果您要插入的表包含触发器,您可能应该检查其任何程序流程是否包括尝试将某些内容转换为 NUMBER...

【讨论】:

以上是关于工程测量中的"比例因子"英文"scale factor"是何意?谢谢!的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中绘制 ROC 曲线时出错 - UseMethod("predict") 中的错误:没有适用于“预测”的方法应用于“因子”类的对象

Python:通过非整数比例因子重新缩放熊猫中的时间序列

将因子级别转换为R中的数字

通过matplotlib中的因子更改绘图比例

Oracle 中的“NUMBER”和“NUMBER(*,0)”是不是相同?

一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为123,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,