首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Oracle SQL 正則查詢:字段以字母開頭、其後僅含數字

     編輯:程式設計疑難解答

需求

查詢某字段值符合:開頭一個或多個字母,其後**全為數字**,中間無字母 (如 `AB011212` ✓, `AB1A` ✗)。

解決方案:REGEXP_LIKE


SELECT * FROM your_table
WHERE REGEXP_LIKE(column_name, '^[A-Za-z]+[0-9]+$');

正則解析

  • `^`:字符串開始。
  • `[A-Za-z]+`:一個或多個字母。
  • `[0-9]+`:一個或多個數字。
  • `$`:字符串結束。
  • 第三參數 `'i'` 可忽略大小寫 (Oracle 10g+ 支持)。

等效傳統寫法 (無正則)


WHERE column_name NOT LIKE '%[^0-9]%' ESCAPE '\' -- 含非數字字符? 需結合 SUBSTR/ASCII 判斷較繁瑣

正則最簡潔高效。

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