Компания 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
