我們先來看看整數型資料型別的寬度範圍
建立乙個表
複製** **如下:
create table tb_emp( id bigint(1))
id欄位的資料型別為bigint(1),注意到後面的數字1,這表示的是該資料型別指定的顯示寬度,指定能夠顯示的數值中數字的個數。
例如,假設宣告乙個int型別的字段 year int(4)
該宣告指明,在year欄位中的資料一般只顯示4位數字的寬度。
在sqlserver裡是會報錯的
複製** **如下:
create table abc
(id int(11))
複製** **如下:
訊息 2716,級別 16,狀態 1,第 1 行
第 1 個列、引數或變數: 不能對資料型別 int 指定列寬。
顯示寬度和資料型別的取值範圍是無關的。顯示寬度只是指明mysql最大可能顯示的數字個數,數值的位數小於指定的寬度時會有空格填充www.cppcns.com
如果插入了大於顯示寬度的值,只要該值不超過該型別整數的取值範圍,數值依然可以插入,而且能顯示出來。
例如,向year欄位插入乙個數值19999,當使用select查詢的時候,mysql顯示的將是完整帶有5位數字的19999,而不是4位數字的值
如果不指定顯示寬度,則mysql為每一種型別指定預設的寬度值
tips:顯示寬度只用於顯示,並不能限制取值範圍和占用空間,例如www.cppcns.com:int(3)會占用4個位元組的儲存空間,並且允許的最大值也不會是999,而是int整型所允許的最大值。
本文標題: 與mssql對比學習mysql的心得(二)--顯示寬度
本文位址: /shujuku/mysql/109409.html
MYSQL 與MSSQL 資料型別 對比
mysql版本5.1 mssql 2008 mysql5.1 與mssql 2008 資料型別 對比 分類 a 數值型別,b 日期時間型別 c 字串型別 a.數值型別 bit m bool boolen 與mssql相比bit代表的意思不一樣,bool與mssql bit類似 但是也不一樣,bool...
oracle與MSSQL函式對比記憶
從兩個表示式返回乙個非 null 值。語法nvl eexpression1,eexpression2 引數eexpression1,eexpression2 如果 eexpression1 的計算結果為 null 值,則 nvl 返回 eexpression2。如果 eexpression1 的計算...
MSSQL與MySQL語法區別
就目前碰到的不一樣的地方集中記錄在這篇日誌中,不定期更新。1 批量執行sql語句 mssql中,所有語句執行過程中無需在末尾加分號 mysql中,單條語句不用加分號,多條執行時每句末尾需要新增分號 2 注釋問題 mysql中和mssql的注釋相同,但是在mysql注釋時需要在 後面有個空格,否則會報...