|
顯示寬度
MySQL中的整數(shù)型數(shù)據(jù)類型都可以指定顯示寬度,而SQLSERVER不行
創(chuàng)建一個表 CREATE TABLE tb_emp( id BIGINT(1)) id字段的數(shù)據(jù)類型為BIGINT(1),注意到后面的數(shù)字1,這表示的是該數(shù)據(jù)類型指定的顯示寬度,指定能夠顯示的數(shù)值中數(shù)字的個數(shù)。 例如,假設(shè)聲明一個INT類型的字段 YEAR INT(4) 該聲明指明,在year字段中的數(shù)據(jù)一般只顯示4位數(shù)字的寬度。
在SQLSERVER里是會報錯的 CREATE TABLE abc (id INT(11)) 消息 2716,級別 16,狀態(tài) 1,第 1 行 第 1 個列、參數(shù)或變量: 不能對數(shù)據(jù)類型 int 指定列寬。
顯示寬度和數(shù)據(jù)類型的取值范圍是無關(guān)的。顯示寬度只是指明MYSQL最大可能顯示的數(shù)字個數(shù),數(shù)值的位數(shù)小于指定的寬度時會有空格填充 如果插入了大于顯示寬度的值,只要該值不超過該類型整數(shù)的取值范圍,數(shù)值依然可以插入,而且能顯示出來。 例如,向year字段插入一個數(shù)值19999,當(dāng)使用select查詢的時候,MYSQL顯示的將是完整帶有5位數(shù)字的19999,而不是4位數(shù)字的值
如果不指定顯示寬度,則MYSQL為每一種類型指定默認(rèn)的寬度值
tips:顯示寬度只用于顯示,并不能限制取值范圍和占用空間,例如:INT(3)會占用4個字節(jié)的存儲空間,并且允許的最大值也不會是999,而是INT整型 所允許的最大值。 |
|
|