資料庫資料類型 (Transact-SQL) – 賴老師課後研習營
資料類型 (Data Type) 決定了據種類。選擇正確的資料類型對於資料庫的性能、儲存空間的利用以及資料的完整性至關重要。
SQL Server 常用的資料類型
數值型態
- 整數:
TINYINT
: 1個位元組,範圍為-128到127SMALLINT
: 2個位元組,範圍為-32768到32767INT
: 4個位元組,範圍為-2147483648到2147483647BIGINT
: 8個位元組,範圍更大
- 浮點數:
FLOAT
: 單精度浮點數REAL
: 相當於FLOATDECIMAL(p,s)
: 高精度十進位數,p表示總位數,s表示小數位數
字符型態
- 固定長度:
CHAR(n)
: 固定長度n個字元的字符,不足部分會用空格填充
- 可變長度:
VARCHAR(n)
: 最多n個字元的可變長度字符NVARCHAR(n)
: 最多n個Unicode字元的可變長度字符
- 大文本:
TEXT
: 可變長度文本,最大 國家 B2B 和 B2C 電子郵件行銷列表 長度取決於具體實現NTEXT
: 可變長度Unicode文本,最大長度取決於具體實現
日期和時間型態
DATE
: 日期TIME
: 時間DATETIME
: 日期和時間DATETIME2
: 日期和時間,精度更高SMALLDATETIME
: 日期和時間,精度較低
其他型態
UNIQUEIDENTIFIER
: 全域唯一識別碼 (GUID)BINARY
: 二進位數據VARBINARY
: 可變長度二進位數據IMAGE
: 可變長度二進位數據,通常用於儲存圖像等大物件XML
: XML數據
選擇資料型態的技巧
- 數據的本質: 是數字、文字、日期還是其他?
- 數據的範圍: 最大 如何拥有一个可以终身使用的美国/加拿大/英国虚拟手机号? 值、最小值是多少?
- 精度: 需要多高的精確度?
- 儲存空間: 希望佔用多少儲存空間?
- 效能: 常用於查詢或計算的欄位,應選擇較快的資料型態。
示例:建立一個員工資料表
資料型態轉換
- CAST: 將一種資料型態轉換為另一種資料型態
- CONVERT: 將一種資料型態轉換為另一種資料型態,可以指定格式
- 選擇正確的資料型態可以提高查詢性能和減少儲存空間。
- 避免使用過大的資料型態,以免浪費儲存空間。
- 對於經常進行計算的欄位,使用數值型態會比字符型態更快。
- 對於需要儲存大量文本的欄位,使用TEXT或NTEXT,但要注意性能影響。
課後練習
- 建立一個學生資料表,包含學號、姓名、生日、性別、系所等欄位,並為每個欄位選擇合適的資料型態。
- 將一個包含日期的字串轉換為DATE型態。
- 將一個浮點數轉換為整數,並比較轉換前後的值。