Chỉ cần xác định chiều dài 8 và một độ chính xác của 0. Như thế này
SQL> create table t8 (col1 number(8,0))
2/
Table created.
SQL> insert into t8 values (12345678)
2/
1 row created.
SQL> insert into t8 values (123456789)
2/
insert into t8 values (123456789)
*
ERROR at line 1:
ORA-01438: value larger than specified precision allowed for this column
SQL>
Để thực thi một chiều dài chính xác (tất cả các số phải dài tám chữ số), bạn sẽ cần phải sử dụng một hạn chế KIỂM TRA:
SQL> alter table t8
2 add constraint t8_ck check (length(col1) = 8)
3/
Table altered.
SQL> insert into t8 values (1234567)
2/
insert into t8 values (1234567)
*
ERROR at line 1:
ORA-02290: check constraint (APC.T8_CK) violated
SQL>
nào bạn muốn 00000001 để được lưu trữ như 00000001 hoặc 1, ví dụ số 8 chữ số này có phải là chiều dài cố định không? – Andrew
Để hoàn thành, có -12345678 một số có thể chấp nhận được gồm 8 chữ số trong trường hợp của bạn không? – pilcrow
có, tôi muốn 000000001 được lưu trữ là 00000001, KHÔNG 1, vì tôi muốn có số có 8 chữ số, chính xác là 8! – MengT