MySQL 中文大小寫敏感 5 種解決方案:從 BINARY 到字符集重編譯
根因:預設校對規則 _ci (Case Insensitive) 導致中文拼音/注音大小寫不敏感 方案對比表 #方法層級優點缺點適用場景 1欄位加 BIN
MySQL 字串截取函數速查:LEFT/RIGHT/SUBSTRING/SUBSTRING_INDEX 實戰
四大函數一覽 函數語法典型用途 LEFTLEFT(str, len)摘要、預覽前 N 字 RIGHTRIGHT(str, len)取後綴、副檔名 SUBST
MySQL 字串大小寫轉換與修剪函數:UPPER/LOWER/TRIM 完整用法
大小寫轉換 函數範例結果備註 UPPER / UCASEUPPER(abc)ABC標準 SQL 用 UPPER LOWER / LCASELOWER(ABC
MySQL VARCHAR 數字排序陷阱:隱式轉換與 FIND_IN_SET 解法
現象:VARCHAR 存數字,ORDER BY 字典序錯誤 -- 儲存 1,2,10,20 ORDER BY id → 1, 10, 2, 20 (字典序
MySQL 字串型別全解析:CHAR/VARCHAR/TEXT/BINARY/BLOB 差異與選型
二進制 vs 非二進制 分類型別內容字符集比較排序 非二進制CHAR, VARCHAR, TEXT字符字串可指定按校對規則 二進制BINARY, VARBI
MySQL 分割字串實戰:存儲過程拆分逗號值並 WHERE IN 查詢
需求:apple,banana,orange,pears,grape → 拆成 5 行 → 用於 WHERE IN 核心函數 -- 計算分割後總段數 CREA
MySQL 存儲過程多條件判斷:IF/CASE 與游標實戰範例
場景:依 month 欄位自動填入 season (季度) 完整存儲過程 DELIMITER // DROP PROCEDURE IF EXISTS upda
MySQL 批量替換欄位字串:REPLACE + WHERE 條件實戰範本
通用語法 UPDATE table_name SET column_name = REPLACE(column_name, old_str, new_str)
MySQL 字串比較函數深度解析:LIKE、REGEXP、STRCMP 與隱式轉換
隱式類型轉換規則 數字 ⇄ 字串自動雙向轉換:1 + 1 = 2、CONCAT(2, test) = 2test。 明確轉字串:CAST(38.8 AS CH
MySQL REPLACE 函數實戰:字串替換、批量清洗與陷阱避坑
基本語法 REPLACE(str, from_str, to_str) -- 將 str 中所有 from_str 替換為 to_str SELECT REPL
MySQL 字串截取函數大全:LEFT、RIGHT、SUBSTRING、SUBSTRING_INDEX
固定長度截取 函數語法範例結果 LEFTLEFT(str, len)LEFT(foobarbar, 5)fooba RIGHTRIGHT(str, len)
MySQL 字串拼接更新實戰:CONCAT 替代 + 號操作
誤區:MySQL 不支援 + 連接字串 UPDATE t SET col = col + abc 會嘗試數值相加,字串轉 0,結果錯誤。 正確:CONCAT
MySQL 字串連接函數 CONCAT 與 CONCAT_WS 完整指南
CONCAT(str1, str2, ...) 任一參數為 NULL → 整體回傳 NULL。 數值自動轉字串:CONCAT(10, abc) → 10abc
MySQL 大表重複字段查詢優化:子查詢 vs 臨時表 vs JOIN 實測
需求:找出 name 重複的所有 id 方案一:直觀子查詢 (慢) 1 ); MySQL 5.6 前子查詢優化差,易全表掃描外層表。 方案二:臨時表 +
MySQL 大小寫敏感查詢:BINARY、COLLATE 與建表設定三法
預設:大小寫不敏感 (ci 校對規則) SELECT * FROM t WHERE col LIKE a%; -- 匹配 a, A, Abc... 三種啟
MySQL DISTINCT 陷阱:多欄去重失效原因與 GROUP BY 正解
現象:DISTINCT 不能跨欄去重 SELECT DISTINCT mac, ip FROM ip; -- 只要 (mac, ip) 組合不完全相同,就不會去
MySQL 查找與刪除重複記錄:單欄/多欄完整語法大全
場景一:單欄判斷重複 (peopleId) 查重複 1 ); 刪除重複,保留 rowid 最小 1 ); 場景二:多欄判斷重複 (peopleId,
MySQL 查詢結果集獲取行號:用戶變數與子查詢實現
背景:MySQL 8.0 前無 ROW_NUMBER(),需自行計算結果集位置 核心方法:會話變數遞增 SET @mycnt = 0; SELECT (@my