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

MySQL 資料類型詳解:TEXT、DATE、SET、ENUM 與萬用字元模式比對

     編輯:MySQL 資料庫相關知識

常見誤區澄清

  • TEXT 不是獨立資料類型,實際對應 LONG VARCHAR、MEDIUMTEXT 等長度變體。

DATE 日期類型

  • 格式:YYYY-MM-DD (如 1999-12-08)。
  • PHP 取得當前日期:date("Y-m-d")。
  • 日期相減直接得天數差:$age = $current_date - $birthdate; (MySQL 內建支援)。

SET 集合類型 vs ENUM 列舉類型

特性SETENUM
儲存值數量可同時儲存 **多個** 預定義值 (位元組合)只能儲存 **單一** 預定義值
最大預定義值數64 個65,535 個
適用場景多選標籤、權限位遮罩單選狀態、類型分類
超過 64 個集合值? 拆分為多個 SET 欄位組合使用。

SQL 萬用字元 (Wildcards)

萬用字元用途配合運算子範例
%比對任意長度字串 (含零長度)LIKE / NOT LIKEWHERE name LIKE 'a%' (以 a 開頭)
_ (底線)比對 **單一** 任意字元LIKE / NOT LIKEWHERE name LIKE '___' (剛好 3 字元)
*比對 **所有欄位** (投影)SELECTSELECT * FROM table

關鍵差異總結

  • % 用於 **值比對** (需配合 LIKE);* 用於 **欄位投影** (配合 SELECT)。
  • _ 比對單一字元,% 比對任意長度。
  • 標準 SQL 模式比對 **預設不區分大小寫** (依定序)。

範例查詢

-- 所有記錄
SELECT * FROM users WHERE username LIKE '%';

-- 以 'John' 開頭
SELECT * FROM users WHERE username LIKE 'John%';

-- 含 'admin' 任意位置
SELECT * FROM users WHERE username LIKE '%admin%';

-- 剛好 5 字元
SELECT * FROM users WHERE username LIKE '_____';
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved