You cannot have dynamic operators in pure SQL, it must be static. You need to (ab)use EXECUTE IMMEDIATE in PL/SQL to execute the dynamic SQL.
For example, using standard EMP table in SCOTT schema:
SQL> set serveroutput on
SQL> declare
2 v_empno NUMBER;
3 v_operator VARCHAR2(2);
4 v_dyn_sql VARCHAR2(200);
5 BEGIN
6 v_operator := '=';
7 v_dyn_sql := 'SELECT empno FROM emp WHERE ename '||v_operator||' ''SCOTT''';
8 EXECUTE IMMEDIATE v_dyn_sql INTO v_empno;
9 DBMS_OUTPUT.PUT_LINE('employee number is '||V_EMPNO);
10 END;
11 /
employee number is 7788
PL/SQL procedure successfully completed.
Or, in SQL*Plus using bind variable:
SQL> variable v_operator varchar2(2);
SQL> exec :v_operator := '=';
PL/SQL procedure successfully completed.
SQL> print v_operator;
V_OPERATOR
----------------------
=
SQL> set serveroutput on
SQL> declare
2 v_empno NUMBER;
3 v_dyn_sql VARCHAR2(200);
4 v_operator VARCHAR2(2);
5 BEGIN
6 v_operator := '=';
7 v_dyn_sql := 'SELECT empno FROM emp WHERE ename '||:v_operator||' ''SCOTT''';
8 EXECUTE IMMEDIATE v_dyn_sql INTO v_empno;
9 DBMS_OUTPUT.PUT_LINE('employee number is '||V_EMPNO);
10 END;
11 /
employee number is 7788
PL/SQL procedure successfully completed.