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

MySQL 字串函數完整參考:ASCII、ORD、CONV、BIN、OCT、HEX 等轉換與操作函數

     編輯:MySQL 資料庫相關知識

MySQL 內建豐富字串函數。本文摘錄官方文件核心函數:ASCII、ORD、CONV、BIN、OCT、HEX 等進制轉換與字元碼函數,含語法、參數、回傳值與範例。

注意事項

  • 結果長度超過 max_allowed_packet 回傳 NULL
  • 字串位置從 1 開始 (非 0)
  • 參數為 NULL 回傳 NULL

函數速查表

函數說明範例結果
ASCII(str)最左字元 ASCII 碼ASCII('2')
ASCII('dx')
50
100
ORD(str)多位元組字元編碼:(b1*256+b2)*256+b3...ORD('2')50
CONV(N,from,to)進制轉換 (2-36),負 to 視為有號數CONV('a',16,2)
CONV('6E',18,8)
CONV(-17,10,-18)
'1010'
'172'
'-H'
BIN(N)二進制字串 = CONV(N,10,2)BIN(12)'1100'
OCT(N)八進制字串 = CONV(N,10,8)OCT(12)'14'
HEX(N)十六進制字串 = CONV(N,10,16)HEX(255)'FF'

進階用法範例

-- 多進制混合運算
SELECT CONV(10 + "10" + '10' + 0xa, 10, 10);  -- '40' (10+10+10+10)

-- 字元編碼檢測
SELECT ORD('中');  -- 取決於連線字元集,UTF8 下為 20013 (0x4E2D)

相關函數族群 (未列入本表)

  • 大小寫:LOWER()/UPPER()/UCASE()/LCASE()
  • 裁剪:TRIM()/LTRIM()/RTRIM()
  • 子字串:SUBSTRING()/MID()/LEFT()/RIGHT()
  • 定位:LOCATE()/POSITION()/INSTR()
  • 比較:STRCMP()
  • 填充:LPAD()/RPAD()/REPEAT()
  • 替換:REPLACE()/INSERT()
  • 反轉:REVERSE()
  • 聚合:GROUP_CONCAT()

結語

CONV 是進制轉換萬用鑰匙,BIN/OCT/HEX 為常用封裝。ASCII/ORD 用於字元碼檢測與多位元組處理。善用這些函數可在 SQL 層完成編碼轉換、位元運算、格式化,減少應用層往返。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved