Недостойное поведение 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 известная своим пренебрежением к типам данных, не позволяет себе таких вольностей.
К сожалению, единственное что я могу сделать, это опубликовать этот пост чтобы предостеречь Вас от возможных ошибок.
