日记

来源:这里教程网 时间:2026-03-03 11:59:24 作者:

你创建了如下的表来存储玩具的信息: create table qz_toys (   toy_id          integer not null primary key,   toy_description varchar2(100) not null,   price           number(4, 2) not null ); 下列的哪些插入语句 增加一行数据; 在price列存储的数据和传入insert语句的值相同? (A) insert into qz_toys values ( 1, 'No toy needed', 65.48 ); (B) insert into qz_toys values ( 2, 'Internal toy code', 600 ); (C) insert into qz_toys values ( 3, 'Toy not found', 0.6592 ); (D) insert into qz_toys values ( 4, 'Unique toy violated', 0.01 ); (E) insert into qz_toys values ( 5, 'Too many toys', -14.22 ); 答案ADE, 2楼得奖。 A: number (4, 2) 允许你在小数点两边分别存储两位数字。数据库将会保存和所示一样的数值。 B: 不对,精度是4, 所以你最多可存储四位有效数字。刻度为2,因此该值包括小数点右侧的两位数字和左侧的两位数字。 所以允许的最大值是99.99。这会报错: "ORA-01438: value larger than specified precision allowed for this column". C: 不对,两位刻度意味着数据库仅仅存储小数点右边的两位数字。它会将右边的多余数字进行舍入。所以这个值被存储为0.66 D: 是的,你可以存储少于指定位数的有效数字。 E: 是的,你也可以存储负数。

相关推荐