|
3#
楼主 |
发表于 2017-12-14 05:48
|
只看该作者
答案ABE, 2楼得奖。
A:
Integer 映射为 number(p, 0) 也即没有小数部分的number。所以你可以插入数据
B: Oracle会隐式将number转换为字符串。所以插入成功。
C: Oracle不能隐式将number转换为date。所以插入会报错:
"ORA-00932: inconsistent datatypes: expected DATE got NUMBER"
D: RAW存储二进制数据。如同DATE,Oracle也不能隐式将number转换为此类型。所以插入会报错:
"ORA-00932: inconsistent datatypes: expected BINARY got NUMBER".
E:(推荐)
Numeric 是number的 ANSI 等价写法。所以这会映射到number类型,你可以插入数据。
注意,如果你在使用numeric的时候没有指定刻度,它会缺省为0。所以这就得到和integer相同的结果。
|
|