1. 合并函数 wm_concat(column)
注:如果列值是中文的,则选择另一种方式: wm_concat(to_char(列名))
select id,wm_concat(to_char(name)) name from test_user group by id;
2. 替换函数 replace(原字段,‘原字段旧内容’,‘原字段新内容’)
select id,name,replace(num,'10','5') num0 from test_user;
3. 拼接字符串函数concat(字串1,字串2)
select concat(name, '(' || num || '岁)') as age from test_user;
4. 截取字符串函数substr(字符串,截取开始位置,截取长度)
select substr(name,0,1) str from test_user;
5. 查找函数instr(字串1, 字串2)查找字符串位置
select id,name ,num from test_user where instr(name,'远') > 0;
select id,name ,num from test_user where name like '%远%';
select id,name ,num from test_user where instr('123,远',name) > 0;
select id,name ,num from test_user where name in ('123,远');
6. 保留小数
6.1 使用round(要进行转换的数字, 保留位数)函数
使用该函数可以实现对数字的四舍五入,并且可以控制小数点后面的位数,位数不够时不会自动补齐。
select round(20.66600000, 2) round_result from dual;
注:会对要进行转换的数字四舍五入,位数不够时不会补齐。
6.2 使用trunc(要进行转换的数字, 保留位数)函数
trunc函数,可以用于截取数字的指定位数。同样,该函数也可以用于对小数进行截取,从而实现对小数点后面位数的控制。
select trunc(20.66600000, 2) trunc_result from dual;
注:不会对要进行转换的数字四舍五入,位数不够时不会补齐。
6.3 使用cast函数
cast函数可以用于对数据类型进行转换。使用该函数可以将一个数字转换为指定的小数位数,从而实现对小数位数的控制。
select cast(12.3 as number(9, 2)) cast_result from dual;
注:会对要进行转换的数字四舍五入,位数不够时自动补齐。
6.4 使用to_char(需要转换的数, 需要转换的格式)函数
转换格式(9999990.99)其中9代表需要转换number的最大位数,没有则补上一个空格。
select trim(to_char(nvl(0.1, 0.00), '9999990.99')) to_char_result from dual;
注:
1)增加nvl()函数可以避免null值;
2)转换格式中的0.则是预防可能小于1.0的小数,在转换时避免丢失前置的0;
3)增加trim()函数,可以在前置位数不够时去除需要转换的数的两边的空格。
4)会对需要转换的数四舍五入,位数不够时自动补齐。