3 回答

TA貢獻1816條經(jīng)驗 獲得超6個贊
當(dāng)您選擇類型為ZEROFILL的列時,它將用零填充字段的顯示值,直到字段定義中指定的顯示寬度。大于顯示寬度的值不會被截斷。請注意,使用“零填充”還意味著未簽名。
使用零填充和顯示寬度不會影響數(shù)據(jù)的存儲方式。它僅影響其顯示方式。
以下是一些示例SQL演示了ZEROFILL的用法:
CREATE TABLE yourtable (x INT(8) ZEROFILL NOT NULL, y INT(8) NOT NULL);
INSERT INTO yourtable (x,y) VALUES
(1, 1),
(12, 12),
(123, 123),
(123456789, 123456789);
SELECT x, y FROM yourtable;
結(jié)果:
x y
00000001 1
00000012 12
00000123 123
123456789 123456789

TA貢獻1780條經(jīng)驗 獲得超1個贊
我知道我參加聚會很晚,但是我發(fā)現(xiàn)zerofill對TINYINT(1)的布爾表示很有幫助。Null并不總是意味著False,有時您不希望如此。通過對tinyint進行零填充,可以有效地將這些值轉(zhuǎn)換為INT,并消除應(yīng)用程序在交互時可能造成的任何混亂。然后,您的應(yīng)用程序可以類似于原始數(shù)據(jù)類型True = Not(0)的方式處理這些值。
添加回答
舉報