ORACLE使用MAX函数处理CHAR类型【指CHAR(1)类型】时,将其返回值INTO到某变量【变量类型也为CHAR(1)类型】,运行时会报错,需要使用字符处理函数对MAX返回值进行处理(例如TO_CHAR,NVL函数)或将变量类型设置为VARCHAR2(4000)【如果将变量类型设置为VARCHAR2(3999),运行时也会报错】,才能正常运行。 下面查询公司最高职位类型为例进行分析。
建立职位信息表(position),脚本如下:
-- Create table position_type:职位类别 position_name:职位名称
create table position
(
position_type char(1) default ' ' not null,
position_name varchar2(40) default ' ' not null
)
;
-- Create indexes
create unique index idx_position on position (position_type);
准备数据,脚本如下:
insert into position(position_type, position_name) values('0', '初级软件工程师');
insert into position(position_type, position_name) values('1', '中级软件工程师');
insert into position(position_typ