首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL 資料類型補充:TEXT、DATE、SET 與萬用字元詳細說明

     編輯:MySQL 資料庫相關知識

補充說明 SQL 標準與 MySQL 實作中 TEXT、DATE、SET、ENUM 及萬用字元的關鍵行為差異。

1. TEXT 非獨立類型

  • 實為 LONG VARCHAR 或 MEDIUMTEXT 別名
  • 四階層:TINYTEXT (255B) / TEXT (64KB) / MEDIUMTEXT (16MB) / LONGTEXT (4GB)
  • BLOB 為二進位對應,無字元集/排序規則

2. DATE 日期運算

  • 格式 YYYY-MM-DD
  • PHP 取得:date("Y-m-d")
  • 日期相減直接得天數:$age = $current_date - $birthdate
  • MySQL 函數:DATEDIFF()、DATE_ADD()、DATE_FORMAT()

3. SET vs ENUM

ENUMSET
單值/多值單一值多值 (0-64)
預定義上限65,53564
儲存索引 (1-2B)位元遮罩 (1-8B)
查詢= 'val'FIND_IN_SET() / 位運算

超過 64 選項 → 正規化查找表或多 SET 欄位。

4. 萬用字元語境差異

關鍵:%/_ 必須搭配 LIKE;* 用於投影清單。

結語

釐清類型定位、儲存方式、查詢語法與萬用字元語境,能避免 Schema 設計錯誤與查詢邏輯 Bug。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
符號用途子句範例
*所有欄位SELECTSELECT * FROM t
%任意長度字串WHERE (LIKE)WHERE name LIKE 'A%'
_單一字元WHERE (LIKE)WHERE code LIKE '__-__'