在讲解函数之前先讲解一下dual这张表。这张表是oracle中的一张虚拟表,可以用来构成许多语法规则,我们可以使用这张表进行一些语法的校验以及函数的学习。
1. 数值型常用函数
ceil(n):返回大于等于n的最小整数,可以理解为数学中的进一法。
floor(n):与ceil相反,返回的是小于等于n的最小整数,可以理解为去尾法。
round(m,n):m四舍五入保留n位小数位数。
mod(m,n):m除以n的余数。如果n等于0则返回m。
power(m,n):返回m的n次方。例如power(3,2) = 9。
sqrt(m):返回m的平方根。例如sqrt(4) = 2;
2. 常用的字符串函数
Initcap(string1):返回字符串的第一个字母大写。第一个字符不是字母则返回原值。
lower(string1):将字符串转化为小写lower(‘King’) = king。
replace(str1,str2,str3):将str1中的str2替换为str3。
substr(string,m,n):从string中的第m位开始截取,截取n位。如果n的长度大于字符串的长度,则返回从m位到最后一位的字符串,从右边开始截取,则用substr(string1,-n),从后往前截取n位。
从右边开始截取
length(string):返回string的长度,length(‘King’) = 4
Str1||str2:拼接两个字符串。
也可以使用concat(str1,str2,......),可以代替。
ltrim、rtrim、trim:三个函数都是去空格,区别在于ltrim是去除左边的空格,rtrim去除右边的空格,trim去除两边的空格,而这三个函数都无法去除字符串中间的空格。
Lpad和rpad:lpad(str1,n,str2),返回的结果是str2在str1左边填充到n个长度的字符串。如果n小于str1的长度那么这个函数就类似于substr函数。
Translate(string,from_str,to_str):功能类似于replace
Instr(string,str):返回str在string中出现的位置,注意这个函数是区分大小写的,如果找不到则返回0。
3. 日期型函数
sysdate:返回系统的当前时间
Last_day(日期):返回当月的最后一天。
因为sysdate是精确到s的,使用trunc函数把时分秒去掉。
Add_months(d,n):返回d的n个月以后的时间。
Months_between(d1,d2):返回两个日期之间的月份之差。
常用的日期函数以上列举的也就差不多了,其中oracle中的两个日期是可以直接相减的,返回的结果是两个日期之间相差的天数,另外字符串中和日期的转换是oracle中经常使用到的,例如在上例中的to_date函数就是将字符串转换为date类型的。
4. 总结
以上所列举的函数是平时开发过程中用到的比较多的函数,当然还有很多函数还没有讲道,比如merge,窗户函数等,因为这些高级函数在使用中还是比较复杂的,因此将在下次课中单独讲解这类函数,期待大家的参与。如果觉得好,请关注并转发哦!!!
King联系方式:156937648 IT服务:513520612