本文主要是介绍Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
引用、推荐博客:
http://www.cnblogs.com/qingxinblog/p/4154228.html(函数练手敲代码博客推荐)
http://blog.csdn.net/jian200801/article/details/7558292(自定义函数实例)
http://www.cnblogs.com/vic_lu/archive/2010/08/28/1811097.html
http://www.cnblogs.com/yuepeng/archive/2011/03/21/1990105.html
http://blog.csdn.net/rosekin/article/details/39298255(多表链接查询归纳总结)
一、函数
函数再次分为单行函数和多行函数(组函数)来介绍,其中单行函数又分为:(1)与数字相关的函数(2)字符函数(3)日期时间函数(4)转换函数(5)通用函数
1.1、单行函数
即输入一行的某个 列的值,输出一个结果,单行函数存在于sql语句、select子句、where条件中。第一部分先介绍一些常用的单行函数,第二部分在对这些单行函数具体用法给出代码演示。
(1)数字相关的函数
输入和输出都是数字类型,下面列举几个常用的与数字相关的函数:
abs(n) 返回数字n的绝对值
exp(n) e的n次方
power(m,n) m的n次方
mod(m,n) m除以n的余数
ceil(n) 大于等于n的最小整数
floor(n) 小于等于n的最大整数
round(m[,n]) 四舍五入,n四舍五入的位数:n正数,小数后第n位的数据要四舍五入;n为负数,小数点前第n位开始四舍五入,例如:round(789.346,2) 结果为789.35
trunc(m[,n]) 截断数据,n截断到第几位:,负数表示截断到小数点之前第n位
sign(n) 检测数字的正负,整数返回1,负数返回-1,0返回0
aqrt(n) n的平方根
(2)字符函数
大部分字符函数的输入参数都为字符类型,返回值是字符类型或数字类型,下面列举一些常用的字符函数:
ascii(c) 返回字符串首字符的ascii编码值
chr(n) 将ascii码值转换成字符
concat(c1,c2) 连接两个字符串 ||字符串的连接运算符
initcap(c) 用于将字符串中每个单词的首字母大写,其余字母小写
instr(c1,c2) c2第一次在c1中出现的位置,字符串位置从1开始
lenght(c) 返回字符串字符的个数,如果为”、null,则length函数返回null;
lower(c) 转小写
uper(c) 转大写
replace(c,seraching_c,replace_c)
substr(c,m,n)获取子串,m取的第一个字符的位置,n取的字符的个数;
m为负数时,从字符串末尾开始数m个位置,从该位置开始取,从前往后取n个
trim(c from str) 删除首尾的所有子串c
(3)日期时间函数
日期时间函数大多用来处理date和timestamp类型的数据。下面列举一些常用的日期时间函数:
add_months(d,n) 用于获取指定日期d之前或之后n个月的日期
mouths_between (d1,d2) 返回两个日期之间的月份差
current_date
current_timestamp
last day(d) 返回指定日期的月份的最后一天的日期时间
注意:
日期算数运算
+:不允许日期+日期,只能加整数,在天数上加上对应的值
-:允许日期-日期,得到两个日期之间的天数差
(4)转换函数
转换函数有很多,在这里值列举几个:
to_char
to_date
to_number(c,format)
将一个数字格式的字符串转换成数字
format:
9,代表一个数字
$,美元符号
L,本地货币符号
.,用于匹配一个小数点
,,用于匹配一个逗号,不能用于匹配小数位
x,表示16进制数的1位
(5)通用函数(参数类型没有限制)
null与任何数据进行算术运算时,结果都是null
nvl(expr1,expr2),如果expr1为null,返回expr2;
如果expr1不为null,返回expr2
nullif(expr1,expr2) expr1 == expr2 ? null : expr1
nvl2(expr1,expr2,expr3) expr1 == null ? Expr3 : expr2
decode(expr,search1,result1,search2,result2,…defaultValue)
根据表达式与值的匹配情况,返回对应的结果,且一旦找到匹配的值,则直接返回对应的result
(6)上述函数的代码演示
(代码演示来源:http://www.cnblogs.com/vic_lu/archive/2010/08/28/1811097.html,里面代码本人都测试过,都可以运行,可以手动敲一下代码,提高熟练度):
1、set linesize 100; 设置长度 2、set pagesize 30; 设置每页显示数目 3、em a.sql 打开记事本 4、@ a 执行文件a中的代码,可指定文件的路径 @d:a.txt 5、conn 用户名/密码 根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba; 6、show user; 显示当前连接的用户 7、select * from tab; 得到当前用户下的所有表 8、desc temp; 查看表结构 9、/ 继续执行上一个查询语句 clear scr; 清屏 字符函数 10、select upper('coolszy') from dual; 将小写字母转换成大写,dual 为一虚表 11、select lower('KUKA') from dual; 将大写字母转换成小写 12、select initcap('kuka') from dual; 将首字母大写 13、select concat('Hello',' world') from dual; 连接字符串,但没有||好用select concat('Hello','world') from dual; 1
这篇关于Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!