ない100%を参照してください、それをやってのインサイドアウト方法の種類:
SQL> CREATE TABLE mytable (id NUMBER, status VARCHAR2(50));
Table created.
SQL> INSERT INTO mytable VALUES (1,'Finished except pouring water on witch');
1 row created.
SQL> INSERT INTO mytable VALUES (2,'Finished except clicking ruby-slipper heels');
1 row created.
SQL> INSERT INTO mytable VALUES (3,'You shall (not?) pass');
1 row created.
SQL> INSERT INTO mytable VALUES (4,'Done');
1 row created.
SQL> INSERT INTO mytable VALUES (5,'Done with it.');
1 row created.
SQL> INSERT INTO mytable VALUES (6,'In Progress');
1 row created.
SQL> INSERT INTO mytable VALUES (7,'In progress, OK?');
1 row created.
SQL> INSERT INTO mytable VALUES (8,'In Progress Check Back In Three Days'' Time');
1 row created.
SQL> SELECT *
2 FROM mytable m
3 WHERE +1 NOT IN (INSTR(m.status,'Done')
4 , INSTR(m.status,'Finished except')
5 , INSTR(m.status,'In Progress'));
ID STATUS
---------- --------------------------------------------------
3 You shall (not?) pass
7 In progress, OK?
SQL>
私は長い道のりを避けようとしていましたが、唯一の方法かもしれないようです。 – Matt
@Mattこれはちょっと短いSQLテキストを書くことで、この答えで提案されている構文を使用し、 。これが別のテーブルの行をLIKEしている場合(実際には値のリストをあらかじめ作成することはできません)、これはまったく別の問題です。 'JOIN OTHER_TABLE ON NOT(YOUR_TABLE.FIELD LIKE OTHER_TABLE .FIELD) '... –
私はこれを簡単にするために使い終わったが、正規表現の答えはOracleの新しいビットを学ぶ機会として役立った。ありがとうすべて – Matt