SET SERVEROUTPUT ON
DECLARE
v_version_string := '2016.0.1|2016.0.2|2016.1|2016.0.4';
v_version := '2016';
BEGIN
IF (INSTR(v_version_string, v_version) > 0) THEN
DBMS_OUTPUT.PUT_LINE('Found');
ELSE
DBMS_OUTPUT.PUT_LINE('Not found');
END IF;
END;
上面返回「Found」,這是正確的。不過,我想要做一個確切的比賽。如果v_version是2016,我希望它在由|分隔的v_version_string中返回「未找到」。有沒有更容易/更快的方法來做到這一點,而不用|拆分v_version_string在一個數組和循環數組?如果v_version是2016.0.1,那麼它應該說「Found」,它將在上面的腳本中。但是,2016年應該說「未找到」。RegEx?Oracle INSTR查找完全匹配
在此先感謝。
這是一個正則表達式嗎?嘗試:'(2016.0.1 | 2016.0.2 | 2016.1 | 2016.0.4)$' – Laurel