工作中,Oracle常用函数 1、序言 Oracle提供了不少内置函数,熟练使用这些函数,可以大大提高我们工作效率。函数可以接受0个或多个入参,并返回一个输出结果。 2、Oracle函数分类 Oracle函数分为单行函数和聚合函数单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果。 常见的单行函数有如下四种 ① 数值型函数:对数字进行计算,返回一个数字。 ②字符函数:对字符串操作。 ③转换函数:可以将一种数据类型转换为另外一种数据类型。 ④日期函数:对日期和时间进行处理。 ⑤ null函数:处理null值的相关函数 聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。 3、数值型函数 3.1 求绝对值函数 abs(n)函数 用于返回绝对值 3.2 求余函数 mod(n2,n1) 返回n2除以n1的余数 3.3 判断数值正负函数 sign(n) 函数 n为正返回1,n为0返回0,n为负返回-1 3.4 三角函数 cos(n):返回余弦值 acos(n):返回反余弦值 sin(n):返回正弦值 asin(n) tan(n):返回正切值 atan(n):返回反正切值 3.5 返回以指定数值为准整数的函数 ceil(n)函数 返回大于等于n的最小整数 floor(n)函数 返回小于或等于n的最大整数 3.6 指数、对数函数 sqrt(n)函数 返回n的平方根 power(n1,n2)函数 返回n1的n2次幂 log(n1,n2) 返回以n1为底n2的对数 3.7 四舍五入函数 round(x[,y]) 函数会四舍五入。在缺省 y 时,默认 y=0;y 是正整数,就是四舍五入到小数点后 y 位;y 是负整数,四舍五入到小数点左边|y|位 trunc(x[,y])函数直接截取,不四舍五入。在缺省 y 时,默认 y=0;Y是正整数,就是四舍五入到小数点后 y位;y 是负整数,四舍五入到小数点左边|y|位。 4 字符型函数 4.1 ASSCII与字符转换函数 ASSCII(x) 函数 返回字符x首字母的ASSCII值 chr(n)函数 与ASSCII函数相反,将ASSCII码转换为字符 4.2 字符串长度 length(string) 返回string所占的字节长度,单位是字节 lengthb(string) 返回string所占的字符长度,单位是字符 注意:上面例子,字符串是统一个,但是两个函数返回的值是不一样的。所以可以根据length(‘string’)=lengthb(‘string’)判断字符串是否含有中文 4.3 字符串截取函数 substr(x,start[,length]) 从start处开始,截取length个字符; 缺省length,默认到结尾; length为正,从左边截取; length为负从右边截取 substrb(x,start[,length]) 函数与substr不同之处是按照字节截取 还有几个截取函数,但是不常用substrc 以Unicode字符为单位截取substr4 以UCS4代码点位单位substr2 以UCS2代码点位单位 4.4 字符串连接函数 concat(x,y)效果和“||”连接一样,将字符串x和y连接起来 4.5 字符串搜索函数 instr( string1, string2 [, start_position [, n ] ] ) 从start_position开始,目标字符串string2在源字符串string1中出现第n次的位置; start_position为正表示从string1左边开始,为负表示从string1右边开始; start_position、n可以去掉,表示string2在string1第一次出现位置 instrb( string1, string2 [, start_position [, n ] ] ) 以字节为单位搜索 跟字符串截取函数一样,还有几个搜索函数instrc 以Unicode字符为单位截取instr4 以UCS4代码点位单位instr2 以UCS2代码点位单位 4.6 字母大小写转换函数 upper(n)函数 将字符串n全部转换为大写 lower(n)函数 将字符串n全部转换为小写 4.7 字符串替换函数 replace(char,search_string[,replacement_string])char是目标字符串earch_string是要替换的字符串replacement_string参数可选,用它替换被搜索到的字符串,如果参数不用表示从char中删除earch_string字符串** 4.8 字符串填充函数 **rpad(exp1,n[,exp2]) ** 在字符串exp1右边用字符串exp2填充,直到整个字符串长度为n为止;如果exp2参数没有,则以空格填充 lpad(exp1,n[,exp2]) 在字符串exp1左边用字符串exp2填充,直到整个字符串长度为n为止;如果exp2参数没有,则以空格填充 4.9 删除字符串首尾指定字符函数 trim([leading|trailing|both][trim_target from trim_source])函数leading:删除trim_source的前缀字符trailing:删除trim_source的后缀字符both: 删除trim_source的前缀和后缀字符trim_target:删除的指定字符串,默认是空格trim_source:被操作字符串 rtrim(char[,str])函数 与rpad函数相反,将char右边出现在str中的字符删掉,str参数不叫则默认删除空格 ltrim(char[,str])函数 将char右边出现在str中的字符删掉,str参数不叫则默认删除空格 5 日期型函数 5.1 系统时区、日期、时间函数 dbtimezone函数 函数没有参数,返回数据库时区 sysdate函数 函数没有参数,可以得到系统当前日期 systimestamp函数 函数没有参数,返回系统时间。时间包含时区信息,精确到微秒。函数可以用于返回远端数据库服务器时间 5.2 为日期加上指定月份函数 add_months(date,i)函数date:指定日期i: 要加的月份。i为正,在date日期上加i月;i为负,在date日期上减i月 5.3 返回指定月份最后一天 last_day(date)函数 返回date日期的最后一天 5.4 返回指定日期后一周的函数 next_day(date,char)函数 5.5 提取指定日期特定部分函数 extract(datetime)函数 从给定的datetime中得到年、月、日、时、分、秒 5.6 两个日期之间月份 month_between(date1,date2) data1,date2日期之间的月份 5.7 日期四舍五入、截取函数 ronud(date[,fmt]) 将date舍入到fmt指定形式,如果fmt参数不加,date被处理到最近一天 trunc(date[,fmt]) 将date截取到fmt指定形式,如果fmt参数不加,date被处理到最近一天 6 转换函数 6.1 数据类型转换函数 一般用于数字与字符、字符与日期之间转换 6.2 将字符串转换字符集 convert(char,a[,b])函数char:待转换的字符串a:转变后的字符集b: char原来字符集 6.3 数值转换成字符串 to_char(number[,fmt])函数 将数值、日期按照指定格式转换成字符串 6.4 字符转日期 to_date(char,fmt)函数 将字符按照fmt格式转换 6.5 符串转数字函数 to_number(char[,fmt])函数 将字符串char 转换为数值 7 null 函数 null值我们经常会遇到的,这时候我们就要学会怎么处理null值 7.1 返回表达式为null的函数 coalesce(expr)函数 返回列表中第一个不为null的表达式,如果都为null,则返回null 7.2 排除指定条件函数 lnnvl(condition)函数 返回满足condition条件以外的数据,包含null的条件,一般放到where语句中 7.3 替换null值函数 nvl(expr1,expr2)函数当expr1为null时,返回expr2的值当expr1不为null时,返回expr1的值 nvl2(expr1,expr2,expr3)当expr1为null时,返回expr3当expr1不为null时,返回expr2 8 聚合函数 8.1 求平均值函数 avg(expr)函数 该函数可以求指定列的平均值 8.2 求记录数函数 count(expr) 8.3 求最大值函数 max(expr) 8.4 求最小值 min(expr) 8.5 求和函数 sum(expr) 9 其他函数 decode(expr,search,result,defalut)函数 当expr满足search时候返回result,改过程可以重复多个,如果都没有匹配的结果则返回default
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/90908.html