Недостойное поведение Oracle DB
Сегодня база данных Oracle, была уличена в недостойном поведении, а именно в неявном преобразовании пустых строк к NULL
Посмотрите сами и убедитесь:
create table null_test (
id int,
test varchar(64)
);
insert into null_test values (1, 'Test');
insert into null_test values (2, null);
insert into null_test values (3, '');
select id, test, case when test is null then 'test is NULL' else 'test NOT NULL' end isNULL
from null_test;
select id, test
from null_test
where test = '';
Результат:
+====+========+===============+
| ID | TEST | ISNULL |
+====+========+===============+
| 1 | Test | test NOT NULL |
| 2 | (null) | test is NULL |
| 3 | (null) | test is NULL |
+----+--------+---------------+
+====+======+
| ID | TEST |
+====+======+
Даже SQLITE известная своим пренебрежением к типам данных, не позволяет себе таких вольностей.
К сожалению, единственное что я могу сделать, это опубликовать этот пост чтобы предостеречь Вас от возможных ошибок.