iT邦幫忙

0

8. SQL Server學習日記- 資料型別&約束條件

  • 分享至 

  • xImage
  •  

在上一篇建立的資料表中,資料行名稱後面有int或是nchar的關鍵字,它們的作用是宣告該欄位的資料類型,而每個欄位都要指定資料類型。而資料類型主要可以分為字串資料類型、數值資料類型、日期資料類型、二進位資料類型
https://ithelp.ithome.com.tw/upload/images/20230925/20163415Pa4M9EVHxK.png

《資料型別》

一、字串資料類型

1. 一般字串:char、varchar

char [ ( n ) ] : 固定大小字串資料,1~4000字元
varchar [ ( n ) ] : 可變大小字串資料,1~4000字元

2. Unicode字串 : nchar、nvarchar

nchar [ ( n ) ] : 固定長度的字串,1~4000字元,支援UNICODE
nvarchar [ ( n ) ] : 可變長度的字串,1~4000字元,支援UNICODE

二、數值資料類型

1. 整數

int是SQL Server中主要整數資料類型

資料類型 範圍 儲存位元
bigint 〔-2 的63次方 ~ 2 的63次方〕-1 8bytes
int 〔-2 的31次方 ~ 2 的31次方〕-1 4bytes
tinyint 0 - 255 2bytes
smallint 〔-2 的15次方) ~ (2 的15次方〕-1 1bytes

2. 小數

numeric在使用上等同於decimal,皆為含小數的數值

資料類型 語法
numeric numeric〔(p〔, s〕)〕
decimal decimal〔(p〔, s〕)〕
p&s
名稱 敘述
-- --
p (精確度) 最多儲存十進位數字的總位數
s (小數位數) 小數點右邊可以儲存十進位數字的最大位數

3. 貨幣

資料類型 範圍 儲存位元
money -922,337,203,685,477.5808~922,337,203,685,477.5807 8bytes
samllmoney -214,748.3648 ~ 214,748.3647 4bytes

4. 近似數值

n為儲存float數值尾數之位數,若指定了n,則n要介於1~53。

資料類型 範圍 儲存位元
Float (n) -1.79E + 308 ~ -2.23E – 308 、 0 、2.23E – 308 ~ 1.79E + 308 取決於n值
real -3.40E + 38 ~ -1.18E – 38 、 0 、1.18E – 38 ~ 3.40E + 38 4bytes

三、日期資料類型

資料類型 格式 範圍 精確度 儲存位元
date YYYY-MM-DD 0001/01/01 ~ 9999/12/31 1天 3bytes
samlldatetime YYYY-MM-DD hh:mm:ss 1900/01/01 ~ 2079/06/06 1分鐘 4bytes
datetime YYYY-MM-DD hh:mm:ss〔.nnn〕 1753/01/01 ~ 9999/12/31 0.00333秒 8bytes
datetime2 YYYY-MM-DD hh:mm:ss〔.nnnnnnn〕 0001/01/01,00:00:00.0000000~9999/12/31,23:59:59.9999999 100奈秒 6~8bytes

四、二進位資料類型

資料類型 介紹 範圍 儲存位元
binary〔n〕 固定長度資料 n為1~8000的數值 n個位元組
varbinary〔n ∣ max〕 可變長度資料 n為1~8000的數值,max為最大儲存大小231-1位元 輸入資料實際長度 + 2位元組

《約束條件》

除了資料型別以外,對於存入欄位的資料增加限制的功能,基本上是用來規範每一筆資料裡的各項欄位值,在設置資料欄位時,通常僅就欄位的形態及長度可否Null之類的做設定

  • Null, 約束條件是用來表示〝沒有資料〞的關鍵字
  • Not Null,約束條件是限制該欄位〝不能為空值〞
    https://ithelp.ithome.com.tw/upload/images/20230925/20163415985bcu36Jw.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言