В конце концов, оказалось, что реальный вопрос -
, когда я запускаю: select count(*) from exampletable where examplecolumn like 'A';
Я получаю 0 записей. Вот почему я изначально думал, что первый оператор обновления не работает ... есть идеи, почему он будет возвращать 0 записей ??
Это потому, что вы неправильно использовали оператор LIKE
и / или предоставили неверную строку поиска , Посмотрите на этот пример:
SQL> select * From dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select count(*) From dept where dname like 'A';
COUNT(*)
----------
0 --> because no row contains exactly letter A in DEPT column
SQL> select count(*) From dept where dname like 'A%';
COUNT(*)
----------
1 --> using the wildcard, it found ACCOUNTING
SQL>
Другими словами, ваш запрос искал строку, которая содержит точно буква A
. Я предполагаю, что код, который вы разместили в вопросе, является лишь примером, в то время как ваш реальный код обновляет столбец до чего-то еще, немного более длинной строки. Потому что, если бы это было действительно A
, запрос вернул бы его:
SQL> insert into dept (deptno, dname) values (1, 'A');
1 row created.
SQL> select count(*) From dept where dname like 'A';
COUNT(*)
----------
1 --> now it found DNAME = A
SQL> select count(*) From dept where dname like 'A%';
COUNT(*)
----------
2 --> wildcard found both DNAME = A and ACCOUNTING
SQL>