Search
Write a publication
Pull to refresh

Компания Oracle выпустила новую версию своей базы данных Oracle 23c

Среди нововведений:

  • SELECT выражений без указания раздражающего FROM DUAL

select
  'Hello world'     as txt,
   7 * 6            as nmbr,
   sysdate          as sdate;
  • поддержка типа boolean (очень надеюсь что в ближайшее его завезут и в MySQL):

select true, false;

create table bool_test (
	val varchar2(10), 
	flg boolean
);

insert into bool_test values ('true'  , true );
insert into bool_test values ('false' , false);
insert into bool_test values ('null'  , null );
insert into bool_test values ('t'     ,'t'   );
insert into bool_test values ('yes'   ,'yes' );
insert into bool_test values ('True'  ,'True');
insert into bool_test values ('f'     ,'f'   );
insert into bool_test values ('0'     , 0    );

обратите внимание что строки 'y', 'yes', 't', 'true' неявно конвертируются в True, а значения 'n', 'no', 'f', 'false' в False в не зависимости от регистра и начальных/конечных пробелов. Число 0 сохраняется как False остальные любые числа как True

Поле типа boolean может быть использовано в where:

select * from bool_test where     flg;
select * from bool_test where not flg;

Вместе с новым типом данных введена новая функция to_boolean()

Некоторые плюшки из MySQL перенесены в Oracle. Например

  • DROP/CREATE TABLE IF [NOT] EXISTS

drop   table IF     EXISTS my_test;
create table IF NOT EXISTS my_test (num number, txt varchar2(10));
  • GROUP BY on expression aliases/position number

Все новые уже функции доступны на SQLize.online

Total votes 5: ↑5 and ↓0+5
Comments1

Articles