Oracle中的函数.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle中的函数

单行函数 数字函数 ROUND四舍五入运算 ROUND(m) ROUND(m,n) TRUNC(m,n)不进行四舍五入,直接截取 MOD(m,n)注意:当m,或n为负数时,结果与数学上的经典求模结果不一样 如果被求模数为负数,与数学上的经典求模的区别 如果被求模数为负数时,数学经典求模公式为: CEIL(天花板)返回不小于参数的最小值 FLOOR(地板)返回不大于该参数的最大值 字符函数 UPPER 把字符串中的每个单词字母转换成大写 LOWER 把字符串中的每个单词字母转换成小写 INITCAP 把字符串中第一个字母转换成大写 TRIM/LTRIM/RTRIM裁剪掉前导/后导/两端的空格字符或指定字符 LEADING代表前导,TRALING代表后导,BOTH代表全部 注:只能去掉首尾的字符,中间的不能去掉 把首位的1去掉 把首位的0去掉了 aaaaa SUBSTR:截取字符串 从字符串左边开始的第3个字符开始截取,长度为4 从字符串右边开始的第5个字符开始截取,长度为4 从字符串左边开始的第2个字符开始截取,长度为4(小数忽略) 从字符串左边开始的第2个字符开始截取,如果超过了字符串长度则只会输出字符串剩余的字符 LENGTH 注:Oracle中1个汉字算1个字符,也是使用的unicode编码 得出字符串的长度 得到字符串的字节长度 REPLACE REPLACE(src,search) REPLACE(src,search,replacement)把字符串中指定的字符删除或者替换成别的字符 CONCAT(char1,char2)拼接字符串 注:所有SQL中,+只用于数字 把两个字符串连接到一起 把字符串和一个整数连接到一起 拼接还有另外的一个常用方法,在字符串之间使用||连接 日期函数 Oracle中,有如下操作是合法的: 日期-日期 = 数字(相差的天数) 日期+数字 = 新的日期(数字指添加的天数) MONTHS_BETEEN(date1,date2)算出两个日期间的的间隔月数 NEXT_DAY(date,char) 返回当前日期的下一个字符串参数指定的日子,字符串必需表示一周中的某一天,例如:星期一,星期日…… LAST_DAY(date) 得到某个日期当月的最后一天的日期 ROUND 转换函数 TO_NUMBER(expr,fmt)把字符串按指定格式转换成整数 TO_CHAR(number) 把字符串按指定的格式转换($代表美元符号) L代表系统本地化的货币格式 TO_CHAR(datetime,fmt)把一个日期时间转换成指定的字符串格式 注意:除了,./等少数标点外,日期格式中其他字符必须用“”括起来 TO_DATE 其它函数 NVL(exp1,exp2) 用于处理null值(nvl=null value),如果exp1的值不为null,则整个表达式的值为exp1的值,否则表达式的值为exp2的值 例子:显示每个员工的年收入(员工comm可能为空,使用NVL进行判断) DECODE执行类似于switch…case…default的选择逻辑 --示例一:将工作岗位中的ANALYST显示为分析师,SALESMAN显示为销售,MANAGER显示为经理,其余的显示为其他 --示例一:显示出员工姓名以及所对应的部门名称 多行函数/聚合函数/分组函数 分组查询语法: SELECT FROM WHERE GROUP BY ORDER BY 多行函数:一次调用,处理多行数据 AVG:求多行一列的列平均值 --示例:10号部门全部员工平均工资 --示例:每个部门的平均工资 注:分组显示查询时,select子句中只能出现分组表达式和分组函数,除此之外的任何列都是非法的。 COUNT --示例:显示所有员工的数量 --示例:显示奖金的人数 注:COUNT会忽略null行 --示例:显示每个部门的编号,人数 MAX:返回多行一列中最大行的值 --示例:求全部员工中工资最大值 MIN:返回多行一列中最小行的值 SUM:返回多行一列的和 --示例:求平均工资大于2000的部门编号 select deptno,AVG(sal) from emp where AVG(sal)2000 group by deptno; --结论:WHERE子句中禁止出现聚合函数!如需要将聚合函数的结果作为筛选条件,则在HAING子句中声明

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档