萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 字符串大小寫轉換函數:LOWER/UPPER 與 LCASE/UCASE 對比與兼容性建議

兩組函數對照

功能標準函數別名函數示例結果
轉小寫LOWER(str)LCASE(str)LOWER('DDD')ddd
轉大寫UPPER(str)UCASE(str)UPPER('ddd')DDD

執行示例

mysql> SELECT LOWER('DDD');
+--------------+
| LOWER('DDD') |
+--------------+
| ddd          |
+--------------+

mysql> SELECT UPPER('ddd');
+--------------+
| UPPER('ddd') |
+--------------+
| DDD          |
+--------------+

mysql> SELECT LCASE('DDD');
+--------------+
| LCASE('DDD') |
+--------------+
| ddd          |
+--------------+

mysql> SELECT UCASE('ddd');
+--------------+
| UCASE('ddd') |
+--------------+
| DDD          |
+--------------+

兼容性建議

推薦使用 LOWER() / UPPER(),原因:

  • ANSI SQL 標準函數,Oracle、PostgreSQL、SQL Server 均支持。
  • 代碼可移植性更強,團隊認知統一。
  • LCASE/UCASE 為 MySQL 別名,僅為兼容舊版本/其他方言。

應用場景

  • 大小寫不敏感比較:WHERE LOWER(email) = LOWER('Test@Ex.com')
  • 數據清洗統一格式:UPDATE users SET email = LOWER(email);
  • 排序規則控制:ORDER BY LOWER(name) 忽略大小寫排序。

性能提示

  • 函數作用於列會導致索引失效(如 WHERE LOWER(col) = 'abc')。
  • 改用 WHERE col = 'abc' COLLATE utf8mb4_general_ci 或存儲統一大小寫。
copyright © 萬盛學電腦網 all rights reserved