重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle数据库中函数较多,而且每个函数都有自己的用法,所以要根据具体的函数查询具体的使用方法,比如:
专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业丰润免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
使用方法:
1、比较大小
select
decode(sign(变量1-变量2),-1,变量1,变量2)
from
dual;
--取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
2、此函数用在SQL语句中,功能介绍如下:
Decode函数与一系列嵌套的
IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和
第i
个compare项匹配,就返回第i
个对应的value
。如果base_exp与任何的compare值都不匹配,则返回default。每个compare值顺次求值,如果发现一个匹配,则剩下的compare值(如果还有的话)就都不再求值。一个为NULL的base_exp被认为和NULL
compare值等价。如果需要的话,每一个compare值都被转换成和第一个compare
值相同的数据类型,这个数据类型也是返回值的类型。
1、在SQL语句中直接调用,如:\x0d\x0aselect sysdate from dual;\x0d\x0a\x0d\x0a2、在PL/SQL代码中赋值给某个变量,如:\x0d\x0adeclare\x0d\x0a dt date :=null;\x0d\x0abegin\x0d\x0a dt := sysdate;\x0d\x0a ...\x0d\x0aend;\x0d\x0a/\x0d\x0a\x0d\x0a3、以上说的是Oracle内置函数,如果是自定义函数,则根据入口参数、出口参数的不同,调用方式不尽相同。
使用如下:sum是求和函数,例如:select sum(列名) from 表名,用于计算列的总和。
sum是求指定字段下所有数据的相加总和,select sum(o.amount) from pos_order o 意思就是求出amount这个字段下的数据总和。
1、sum为聚合函数:是 SQL语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AV等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
2、其他举例:SELECT SUM(population) FROM COUNTRY ,这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。
扩展资料
一、应用
Transact-SQL编程语言提供下列聚合函数:
1、AVG 返回指定组中的平均值,空值被忽略。
例:select prd_no,avg(qty) from sales group by prd_no
2、 COUNT 返回指定组中项目的数量。
例:select count(prd_no) from sales
3、 MAX 返回指定数据的最大值。
例:select prd_no,max(qty) from sales group by prd_no
4、 MIN 返回指定数据的最小值。
例:select prd_no,min(qty) from sales group by prd_no
5、 SUM 返回指定数据的和,只能用于数字列,空值被忽略。
例:select prd_no,sum(qty) from sales group by prd_no
6、 COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
例:select count_big(prd_no) from sales
二、Oracle
Oracle数据库系统是美国Oracle公司(甲骨文公司)提供的以分布式数据库为核心的一组软件产品,是目前最流行的C/S或B/S体系结构的数据库之一,在数据库领域一直处于领先地位。
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类数据操作环境。
作为一个通用的数据库系统,Oracle具有完整的数据管理功能;作为一个关系数据库,Oracle是一个完备关系的产品;作为分布式数据库,Oracle实现了分布式处理功能。因此,Oracle数据库是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
参考资料来源:百度百科:聚合函数
百度百科:SQL数据库
ABS(x)
【功能】返回x的绝对值
【参数】x,数字型表达式
【返回】数字
【示例】
select abs(100),abs(-100) from dual;
格式:abs(number) 即 abs(数值)
返回数值的绝对值。
例: abs(5) 返回 5
abs(-5) 返回 5
Oracle SQL 提供了用于执行特定操作的专用函数。这些函数大大增强了 SQL 语言的功能。函数可以接受零个或者多个输入参数,并返回一个输出结果。 oracle 数据库中主要使用两种类型的函数:
单行函数:对每一个函数应用在表的记录中时,只能输入一行结果,返回一个结果。
聚合函数:聚合函数同时可以对多行数据进行操作,并返回一个结果。比如 SUM(x)
返回结果集中 x 列的总合。
接收字符返回字符或数值时可以使用dual伪表
1、把小写字符转换成大写
select supper(“smi”) form dual
2、把大写转换成小写
lower(“SMI”)
3、首字母大写
initcap(“smi”)
4、字符串的连接可以使用concat,也可以使用 建议使用
concat(“hello”“world”) 结果为helloworld
5、字符串的截取,使用substr,第一个参数为字符串,第二个参数是索引,第三个参数结束索引(开始索引使用0和1效果一样)
substr(hello,0,3) 结果为hel
6、获取字符串长度
length(“hello”)
7、字符串替换,第二个参数为被替换的字符串,第三个是替换的字符串
replace(“hello”,“l”,“x”) 结果为hexxo
1、四舍五入函数ROUND()
默认取整,可以指定保留位数
round(12.523) 结果为13
round(12.537,2) 结果为12.54
2、取整TRUNC
默认全部去掉小数,可以指定位数
trunc(12.789) 结果为12
3、取余数MOD
mod(10,3) 结果为1
oracle中提供了很多和日期相关的函数,包括日期的加减
日期 - 数字 =日期
日期 - 日期 = 数字(天)
1、如:查询员工进入公司的走数
(sysdate - 入职日期)/7
注:当前日期查询select sysdate form dual
2、查询所有员工进入公司的月数
获取两个时间段的月数使用months_between(sysdate,入职日期)
3、获取几个月后的日期:add_months()
如:获取员工三个月后的日期
add_months(sysdate,3)
4、如求出下星期一是什么时候
指定给出下次某日期数next_date()
next_date(sysdate,“星期一”)
5、求日期的最后一天last_day()
求出本月的最后一天
last_day(sysdate)
1、to_char字符串转换函数
如:将所有员工的入职日期的年、月分开
注:在划分时需要通配符
年:yyyy 月:mm 日:dd
时:HH 分:mi 秒:ss
定义时间格式
to_char(sysdate,“yyyy-mm-dd HH24:mi:ss”)
在10以下的月数前面会默认加上前导零,去除加上fm
to_char(sysdate,“fmyyyy-mm-dd HH24:mi:ss”)
to_char还可以给数字做格式化
如将员工的工资按三位“,”分隔
to_char(工资,“99,999”) 9代表数字
如果想在钱上加上国家符号
美元使用
中文使用l
to_char(工资,“99,999”)
to_char(工资,“l99,999”)
2、to_number数值转换函数,将字符串转换成数值
to_number(“10”) +to_number(“10”)
3、to_date日期转换函数,将字符串数据转换成日期类型
to_date(“1997-05-12”,“YYYY-mm-dd”) 1997/05/12
1、空值处理 nvl
如果在查询的时候存在空值的情况可以使用
nvl(comm,0) 当comm的列值为空时,用0代替
2、decode函数
该函数类似于if ...else if ...else
语法:decode(列名/值,search1,result1,search2,result2,default)
decode(中国,中国,我是中国,美国,我是美国,其他)
如果为中国返回我是中国,为美国返回我是美国,为其他字符则返回其他。
3、case when 与decode差不多
语法 case when city=中国 then 我是中国
when city=美国 then 我是美国
else 其他
使用如下:sum是求和函数,例如:select sum(列名) from 表名,用于计算列的总和。
1、sum为聚合函数:是 sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等。这些函数和其它函数的根本区别就是它们一般作用在多条记录上。
2、其他举例:SELECT SUM(population) FROM COUNTRY ,这里的SUM作用在所有返回记录的population字段上,结果就是该查询只返回一个结果,即所有国家的总人口数。
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。
1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。