8.26函数相关练习
1.concat
例:select concat('No','Why')from dual;
--注解 (个人理解以下注解同下) 其实就是将两个字符拼接 于是我试了以下代码
例:select concat('Yes ','or ','No')from dual;
--注解 报错了 说明只能拼接俩个字符
2.substr
substr('被截取字符串',截取起始位置)说明:起始位置至少为1
例:select substr('abcdefg',3)from dual;
substr('被截取字符串',截取起始位置,截取几个字符)
例:select substr('abcdefg',3,2)from dual;
3.length 字符数统计
lengthb字节数统计
例:select length('高兴')字符数,lengthb('高兴') as 字节数 from dual;
4.instr
查询某字符串在某字符串中的位置
例:select instr('CORPORATE FLOOR','OR')from dual;
--注解 结果为2 OR第一次出现在CORP位置 位置为2 这是只显示第一次出现的起始开头位置
4.0.1拓展应用
例:select instr('CORPORATE FLOOR','OR',3,2)from dual;
--注解 这里加了两个参数3和2 第一个参数的意思是从左开始往右(如果是负数则从右往左开始)第3个位置开始算起
相当于查询时抛掉CO不管了
第二个参数2的意思是 OR出现的第二次 也就是小字符串的出现次数
得结果14
5.lpad()和rpad()
例:select lpad('Happy',12,'*')from dual;
--注解:我是这么理解的 Happy是后置字符串 12是限制最后总字符串的长队 *是填充字符 将后置字符后置后将空余位置 全部放入填充字符
例:select rpad('Happy',12,'*')from dual;
--注解:同ipad()方法相反 填充为右方填充
6.trim()
--注解 个人原因只能猎取一个看的懂的
例:select trim('a'from'aaab')from dual;
--注解 a和aaab 从aaab左边开始 第一个为a的到开始 消除所有的a 得到结果b 如果是aaabab那么
--注解 结果就变成了bab