Oracle PL/SQL Like 模糊查詢

Oracle Like 模糊查詢,

除了大家常用的 % 用法之外,

如: column like 'a%b' 表示 a 開頭, b 結尾的所有資料

但還有另一個用法 ( _ ),

如: column like 'a_b' 表示 a 開頭, 第 2 碼任意字, 第 3 碼為 b, 且長度只有 3 碼的所有資料

如: column like 'a___b' 表示 a 開頭, 第 2~4 碼任意字, 第 5 碼為 b, 且長度只有 5 碼 的所有資料

%_ 也可以併用,

如: column like 'a_b%' 表示 a 開頭, 第 2 碼任意字, 第 3 碼為 b 的所有資料

範例, 如下 :
 程式碼
------------------------------
-- 建立 Temp Table
------------------------------
CREATE TABLE TOM1 (
  AA VARCHAR2(10)
);

------------------------------
-- 新增範例資料
------------------------------
INSERT INTO TOM1 VALUES( 'abc' );
INSERT INTO TOM1 VALUES( 'aab' );
INSERT INTO TOM1 VALUES( 'aabb' );
INSERT INTO TOM1 VALUES( 'axb' );
INSERT INTO TOM1 VALUES( 'axxxb' );
INSERT INTO TOM1 VALUES( 'pqr' );
INSERT INTO TOM1 VALUES( 'xxyyzz' );
commit;

------------------------------
-- 測試 1
------------------------------
SELECT *
  FROM TOM1
 WHERE AA LIKE 'a%';

-- 結果
-- abc
-- aab
-- aabb
-- axb
-- axxxb

------------------------------
-- 測試 2
------------------------------
SELECT *
  FROM TOM1
 WHERE AA LIKE 'a_b';

-- 結果
-- aab
-- axb

------------------------------
-- 測試 3
------------------------------
SELECT *
  FROM TOM1
 WHERE AA LIKE 'a___b';

-- 結果
-- axxxb
Related Posts Plugin for WordPress, Blogger...