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

Oracle LPAD 函數完整用法指南:左側填充字符串的實戰技巧

     編輯:Oracle 資料庫相關知識

LPAD 函數核心概念

在 Oracle 資料庫中,LPAD 函數用於在字符串左側填充指定字符,使其達到目標長度。其名稱源自「Left Pad」(左側填充),是字符串處理中常用的工具函數。

語法結構

LPAD(源字符串, 目標長度[, 填充字符串])
  • 源字符串:需處理的原始字符串
  • 目標長度:期望返回的字符串總長度
  • 填充字符串(可選):用於填充的字符,預設為單個空格

運作邏輯深度解析

函數實際執行流程如下:

  1. 先計算源字符串長度
  2. 若目標長度 ≤ 源字符串長度,直接截取左側字符至目標長度
  3. 若目標長度 > 源字符串長度,在左側重複填充指定字符直至達標
  4. 未指定填充字符時,默認使用空格填充

實戰範例演示

基礎用法:空格填充

SELECT LPAD('test', 10) FROM dual;

結果:` test`(前綴 6 個空格)

自定義填充字符

SELECT LPAD('test', 10, 'ee') FROM dual;

結果:`eeeeeetest`(填充 6 個 'e' 字符)

長度截取場景

SELECT LPAD('abcdefghij', 5) FROM dual;

結果:`abcde`(直接截取前 5 個字符)

常見應用場景

  • 報表格式化:數字靠右對齊,如 `LPAD(TO_CHAR(emp_id), 6, '0')` 生成 `000001` 格式工號
  • 數據掩碼:隱藏敏感信息前綴,如 `LPAD(SUBSTR(id_card, -4), 18, '*')`
  • 固定寬度文件生成:ETL 流程中構建定長文件記錄

注意事項與最佳實踐

  • 填充字符串可為多字符,函數會智能循環填充(如 `'ab'` 填充 5 位產生 `'ababa'`)
  • 目標長度為負數或零時返回空字符串
  • 搭配 RPAD 可實現雙側填充,構建居中對齊效果
  • 大數據量查詢中避免在 WHERE 條件對列使用 LPAD,導致索引失效

對比函數速查

函數方向典型用途
LPAD左側填充數字補零、代碼對齊
RPAD右側填充字符串定長截取、報表尾部填充
TRIM移除空格/字符數據清洗、去除填充字符
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved