1.trim(),orcale中去除字符串两边的空格,
去除字符串两边的所有空格
select ' hel lo ' from dual; --- hel lo
select trim(' hel lo ') from dual; ---hel lo
2.length(),orcale统计某个字段的字符串长度,
select jxqhm,length(jxqhm) from gd_gj_yjgjxx where czsj >= trunc(sysdate) -3;
3.instr(),orcale中查找字段中某个字符是否存在以及存在的位置
查找某个字符在字段中的位置
格式一:instr( string1, string2 ) // instr(源字符串, 目标字符串)
查询String1字符串中,string2第一次出现的位置,没有查询到结果返回0
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字符串, 目标字符串, 起始位置, 匹配序号)
查询string1字符串中,从第start_position 个字符开始查找string2 第nth_appearance 次出现的位置
select jxqhm,instr(jxqhm, 'C', 1, 1) from gd_gj_yjgjxx
select jxqhm,instr(jxqhm, 'C', 1, 2) from gd_gj_yjgjxx
4.subtsr,orcale截取指定字段
格式: substr(string string, int a, int b);
1、string 需要截取的字符串
2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取)
3、b 要截取的字符串的长度
substr(zbtm, 7, 2) 截取zbtm字段第7-9位
截取'姓名:张三,性别:男'
字符串中的姓名和性别
结合substr函数和instr函数进行截取
select substr('姓名:张三,性别:男',
instr('姓名:张三,性别:男', ':', 1, 1) + 1,
instr('姓名:张三,性别:男', ',', 1, 1) -
instr('姓名:张三,性别:男', ':', 1, 1) - 1),
substr('姓名:张三,性别:男',
instr('姓名:张三,性别:男', ':', 1, 2) + 1,
1)
from dual;
截取表中某个字段
select jxqhm,
substr(jxqhm,
instr(jxqhm, 'C', 1, 1) + 1,
instr(jxqhm, 'A', 1, 1) - instr(jxqhm, 'C', 1, 1) - 1)
from gd_gj_yjgjxx
where czsj >= trunc(sysdate) - 3;
----CNCGOADEFRAAAUN10050010100076
----NCGO
5.||,orcale连接字符串
select ('00' || czmc || '00') from gd_gj_yjgjxx;
6.distinct去重
distinct 只能用在查询的第一个字段中
select distinct username,password from user
select distinct id,username,password from user