[英]Database numeric field starting with 0
我正在使用一個名為area_code的字段,該字段在MySQL中具有int數據類型。 但是它不允許我存儲精確的值,如0781,0727,0788 Bcoz,它們從0開始。它存儲的值分別為781、727和788,即從值中截斷0並保存。
請幫我..
區號不是數字,而是文本(僅包含數字)。 將area_code聲明為適當大小的varchar字段。
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 |
+-----------+
使用基於字符的數據類型,而不是數字數據類型。
使用VARCHAR,因為您不需要對區號進行任何算術運算
如果您希望結果為4位數字,則可以按以下方式進行操作:
select lpad(area_code, 4, '0') from zipcode_list;
現在,您可以將3個數字存儲在數據庫中,然后返回零。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.