2011-01-26 62 views
0

我正在使用名爲area_code的字段,該字段在MySQL中具有int數據類型。但它不允許我存儲像0781,0727,0788 Bcoz這樣的精確值,它們以0開頭。 它將值存儲爲781,727和788,即從值中截取0並保存。以0開頭的數據庫數字字段

請幫我..

+0

K非常感謝所有人......... – Pushpendra 2011-01-26 11:05:51

回答

4
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 | 
+-----------+ 

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

+0

+1對zerofill – RichardTheKiwi 2011-01-26 11:23:49

6

區號不是數字,而是文本(只包含數字)。將area_code聲明爲適當大小的varchar字段。

3

使用基於字符的數據類型而不是數字數據類型。

3

使用VARCHAR,因爲你不需要做任何算術操作與區號

3
如果你希望你的結果4個數字你也許可以做到這樣

select lpad(area_code, 4, '0') from zipcode_list; 

現在你可以在你的數據庫中存儲3個數字並返回零。

相關問題