我一直在尝试比较 SQL Server Express、Oracle XE 和 DB2 Express-C 的特性,但发现很难将所有差异集中到一个地方。尤其是当前的差异,因为这是一个不断变化的战场。任何人手头都有这些信息或知道跟踪此信息的人?尽我所知:
除了这些明显的措施,我还缺少什么?我知道我也可以使用开源,而且 MySQL 和 PostgreSQL 都是可行的解决方案,但为了争论,让我们将其限制为这 3 个选项。在我看来,DB2 是明显的赢家。
可以在此处找到有关此主题的另一篇文章。
根据Oracle 文档,创建一个包含 ANSI 类型列的表INT,Oracle 会将其转换为NUMBER(38). 根据同一份文档,NUMBER(38)应该是NUMBER精度为 38 且小数NUMBER位数为 0 的 a。但实际上,我看到的是data_precision 设置为NULLdata_length 设置为 22。
SQL> create table ltheisen.silly ( id int );
Table created.
SQL> select substr(data_type,1,10), data_length, data_scale, data_precision from
all_tab_columns where owner='LTHEISEN' and table_name='SILLY' and column_name='
ID';
SUBSTR(DATA_TYPE,1,10) DATA_LENGTH DATA_SCALE DATA_PRECISION
---------------------------------------- ----------- ---------- --------------
NUMBER 22 0
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?
此外,我正在尝试进行从 Oracle 到 ANSI 的通用转换。有什么方法可以从元数据中确定NUMBER创建的或适合的INT?
最后,我尝试BINARY_INTEGERcreate with which出现在文档中,但 create …