目录
系统内置函数对于编程提供了很大的方便,并且这些功能比自己实现更加的强大,对于错误的判断更加的合理和健全,所以使用系统内置函数对于我们的编程的效率也是有很大的提高的。
| 函数名 | 说明 |
| Abs(<数值>) | 返回参数数值的绝对值,结果恒为正 |
| Ceil(<数值>) | 返回大于或等于参数值最接近的整数(取上整) |
| Cos(<数值>) | 返回参数值的余弦值。 |
| Floor(<数值>) | 返回等于或小于参数值最接近的整数(取下整) |
| Mod(<被除数>,<除数>) | 返回两数相除的余数,如果分母为0,那么返回分子 |
| Power(<数值>,n) | 返回数值的n次幂 |
| Round(<数值>,n) | 结果近似到数值的小数点的右侧n位 |
| Sign(<数值>) | 返回值为指出参数值为负还是正,若为正,那么返回1;若为负,则返回-1;等于0,则返回0 |
| Sqrt(<数值>) | 返回参数值的平方根 |
| Trunc(<数值>,n) | 返回舍入到指定的n位的参数数值。如果n为大于0 ,就截取到小数右侧的该函数值;如果小于0 ,则截取到小数点的左侧的该数值处;如果没有指定n的值,那么n=0,截取到小数点处 |
例子1:取近似值
select ROUND(15.193,1) from dual;

提示:这里的dual是一个虚拟的表,数据库中的所有用户都可以使用。
例子2:
select TRUNC(15.193,2) from dual;

--151.93取到小数点的左侧1位,那么输出就是150
select TRUNC(151.93,-1) from dual;

--151.93取到小数点的左侧两位,那么输出就是100
select TRUNC(151.93,-2) from dual;

| 函数名 | 返回值说明 |
| Length(<值>) | 返回字符串,数字或表达式的长度 |
| Lower(<字符串>) | 转换为小写的字符 |
| Upper(<字符串>) | 转换为大写的字符 |
| Lpad(<字符串>,<长度>,[,<填充字符串>]) | 在字符串的左侧,使用指定的填充字符进行填充到指定的长度,若未指定填充字符,默认为空格 |
| Rpad(<字符串>,<长度>,[,<填充字符串>]) | 在字符串的右侧,使用指定的填充字符进行填充到指定的长度,若未指定填充字符,默认为空格 |
| Ltrim(<字符串>,[,<匹配字符串>]) | 从字符串的左侧删除匹配字符中出现的任何字符,直到匹配字符串中没有字符为止 |
| Rtrin(<字符串>,[,<匹配字符串>]) | 从字符串的右侧删除匹配字符中出现的任何字符,直到匹配字符串中没有字符为止 |
| Initcap(<字符串>) | 将每个字符的首字母大写 |
| <字符串1>||<字符串2> | 合并两个字符串 |
| Instr(<源字符串>,<目标字符串>,[,<>],[,<>]) | 判断目标字符串是否存在于源字符串,并根据匹配的次数显示目标字符串的位置,返回数值 |
| Replace(<源字符串>,<目标字符串>,<替代字符串>) | 在源字符串中找到目标字符串,并使用替代字符串替代目标字符串 |
| Sounder(<字符串>) | 查找与字符串发音相似的单词,该单词的首字母要与字符串的首字母相同 |
| Subs(<字符串>,<开始位置>,[,<删除字符个数>]) | 在字符串中删除从指定位置开始的指定个数字符。若未指定,则删除开始位置所有的字符 |
例子1:替换指定的字符
select REPLACE('JACK and JUE','J','BL') from dual;

例子2:填充指定字符
select LPAD('hello wold', 11, '#') from dual;
注:这里的长度是包含源字符串长度的,比如上面的Length(“hello world”)=10,填充长度为11,所有填充的字符的个数应该为11-10=1.

| 函数名 | 说明 |
| Add_months(<日期值>,<月份数>) | 把一些月份加到日期上,并返回结果 |
| Last_day(<日期值>) | 返回指定日期所在月份的最后一天 |
| Months_between(<日期值1>,<日期值2>) | 返回日期值1减去日期值2得到的月份数 |
| New_time(<日期值>,<当前时区>,<指定时区>) | 根据当前时期和当前时区,返回指定时区中的日期。其中,当前时区和指定时区的值为时区的3个字符缩写 |
| Next_day(<日期值>,'day') | 给出指定日期后的day所在的日期;day是全拼的星期名称 |
| Round(<日期值>,'format') | 将日期四舍五入到由format指定的格式 |
| To_char(<日期值>,'format') | 将日期型数据转换为format指定形式的字符型数据 |
| To_date(<日期值>,'format') | 将字符串转换为format指定形式的日期类型数据返回 |
| Trunc(<日期值>,'format') | 把任何日期的时间设置为00:00:00 |
例子1:返回指定日期月份的最后一天
--首先将日期的格式转换一下
alter session set NLS_DATE_FORMAT='yyyy-mm-dd';
--根据系统给定的时间
select LAST_DAY(SYSDATE) from dual;
--自己设置时间
select LAST_DAY('2022-6-8') from dual;
