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

MySQL 字符串函數實戰:LEFT、RIGHT、SUBSTR、UPPER、LOWER

     編輯:MySQL 資料庫相關知識

MySQL 字符串截取與大小寫轉換函數速查

1. LEFT(str, len) — 從左截取

SELECT LEFT(content, 50) AS summary FROM article;
-- 取前 50 字符(漢字按 1 字符計)

2. RIGHT(str, len) — 從右截取

SELECT RIGHT(content, 50) AS tail FROM article;

3. UPPER(str) / LOWER(str) — 大小寫轉換

SELECT UPPER(title) FROM article;  -- 全大寫
SELECT LOWER(title) FROM article;  -- 全小寫

4. SUBSTR(str, pos, len) — 靈活截取(核心)

-- 從第 10 字符起取 50 字符(位置從 1 開始)
SELECT SUBSTR(content, 10, 50) FROM article;

-- 從第 10 字符取到末尾
SELECT SUBSTR(content, 10) FROM article;

-- 從末尾倒數 20 字符
SELECT SUBSTR(content, -20) FROM article;
  • SUBSTRING() 為同義詞
  • 負數位置表示從末尾倒數
  • 超出長度自動截斷,不報錯

實戰組合:列表摘要生成

SELECT 
    id,
    LEFT(title, 30) AS short_title,
    CONCAT(LEFT(content, 100), '...') AS excerpt,
    UPPER(category) AS cat
FROM articles
WHERE status = 1
ORDER BY created_at DESC
LIMIT 20;

效能提示

  • 這些函數在 WHERE 條件中使用會導致**索引失效**(如 WHERE LEFT(col, 3) = 'abc')
  • 若需前綴匹配,改用 WHERE col LIKE 'abc%' 走索引
  • SELECT 列表中使用無索引影響
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved