Oracle 函数

Decode函数

Decode函数:Decode(条件,条件值1,返回值1,...,条件值n,返回值n,默认值)

函数的执行逻辑:IF 条件的值=条件值1  那么Decode函数返回的就是返回值1

        ...

        IF 条件的值=条件值n  那么Decode函数返回的就是返回值n

        IF 条件的值不等于所有列出的条件值  那么Decode函数返回的就是默认值

-----------------------------------------------------------

Count函数

Count函数:Count(用于计数的值),Count用来统计查询结果有几条记录

函数的注意事项:Count(*)是返回当前表有多少行数据,Count(某个列字段)也是返回当前表有多少行数据(不包括为null值的行数),Count(常量)同Count(*)

        运行效率上:存在主键,Count(主键)最快;不存在主键,Count(索引列)最快;Count(*)和Count(常量)差不多,有的也说Count(常量)要快点

        --7千多数据,Count(常量)略快

        和Distinct关键字合用:Distinct会去除重复的查询结果,null也是单独的一个值,Count(Distinct 列名)返回的是表中根据列名去重后剩下的行数

 -----------------------------------------------------------

Instr函数

Instr函数:用于判断目标字符串在源字符串中的位置(下标从1开始),主要通过判断结果是否大于0来判断源字符串中是否含有目标字符串

     instr( string1, string2 [, start_position [, nth_appearance ] ] )   /   instr(源字符串, 目标字符串, 起始位置, 匹配序号),后两个参数可有可无

详细说明:select instr('hellowordl','l') from  dual; --返回结果为3,默认为第一次出现l的位置

       select instr('hellowordl','lo') from  dual; --返回结果为4,即目标字符串'lo'首字母'l'出现l的位置

       select instr('hellowordl','l',2,2) from  dual; --返回结果为4,也就是从第二个字母'e'开始找到第二个'l'出现l的位置

       select instr('hellowordl','l',-1,1) from  dual; --返回结果为9,也就是从倒数第一个字母'd'开始找到第一个'l'出现l的位置

参考资料:https://www.cnblogs.com/dshore123/p/7813230.html

 -----------------------------------------------------------

 UPPER函数

 UPPER函数:把数据中的字母转换成大写

示例:select UPPER(name) from student; --把数据库表中数据是小写的转换成大写再显示到查询窗口

      update student set name = UPPER(name) where name = 'zhangsan'; --修改数据库表中对应条件的值,把小写转为大写

 -----------------------------------------------------------

LOWER函数

LOWER函数:把数据中的字母转换成小写

示例:select LOWER(name) from student; --把数据库表中数据是大写的转换成小写再显示到查询窗口

      update student set name = LOWER(name) where name = 'ZHANGSAN'; --修改数据库表中对应条件的值,把大写转为小写

 -----------------------------------------------------------

原文地址:https://www.cnblogs.com/flyingorchid/p/11584740.html