我正在使用名爲area_code的字段,該字段在MySQL中具有int數據類型。但它不允許我存儲像0781,0727,0788 Bcoz這樣的精確值,它們以0開頭。 它將值存儲爲781,727和788,即從值中截取0並保存。以0開頭的數據庫數字字段
請幫我..
我正在使用名爲area_code的字段,該字段在MySQL中具有int數據類型。但它不允許我存儲像0781,0727,0788 Bcoz這樣的精確值,它們以0開頭。 它將值存儲爲781,727和788,即從值中截取0並保存。以0開頭的數據庫數字字段
請幫我..
drop table if exists foo;
create table foo
(
area_code smallint(4) unsigned zerofill not null default 0
)
engine=innodb;
insert into foo (area_code) values (781),(727);
select * from foo;
+-----------+
| area_code |
+-----------+
| 0781 |
| 0727 |
+-----------+
+1對zerofill – RichardTheKiwi 2011-01-26 11:23:49
區號不是數字,而是文本(只包含數字)。將area_code聲明爲適當大小的varchar字段。
使用基於字符的數據類型而不是數字數據類型。
使用VARCHAR,因爲你不需要做任何算術操作與區號
:
select lpad(area_code, 4, '0') from zipcode_list;
現在你可以在你的數據庫中存儲3個數字並返回零。
K非常感謝所有人......... – Pushpendra 2011-01-26 11:05:51