ENABLE_NULL_STRCAT 是否允许null值进行拼接
在不开启的时候
select concat(null,'aa') from dual;
返回null
开启后返回 aa
ENABLE_NULL_STRING
ENABLE_NULL_STRING参数作用为 开启后 将varchar类型的空字符串与null值在查询条件中的等效判断
create table vc(c1 varchar(10));
insert into vc values(null);
insert into vc values('');
开启后
select * from vc where c1=''; 返回1条记录
select * from vc where c1 is null; 返回两条记录
限制,只针对varchar类型的空串 char类型的空串则不适用
varchar 空串和null 存储差异比较
观察发现null 值存储时实际上是占用了1个字节 存储值为 0000
空串 存储时标识数据字节长度为 00 存储值为 0000
说明在存储层面 二者存储还是有差异的
ENABLE_NULL_STRING 开启后在条件 is null下会包含null and '',但是=‘’不会等效 is null