连续求和分析函数 sum(…) over(…)
NC示例:
1、select bdcode,sum(1) over(order by bdcode) aa from bd_bdinfo
示例
原表信息
规则
sum(…) over( ),对所有行求和。
sum(…) over( order by … ), 连续求和。
sum(…) over( partition by… ),同组内所行求和。
sum(…) over( partition by… order by … ),同第1点中的排序求和原理,只是范围限制在组内。
扩展资料
oracle 数据库的特点
1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sqlNet、SQLCONNECT和其他非ORACLE的关系型产品构成。
-Oracle数据库
方法/步骤
1
ASCII(x1)
功能:返回字符表达式最左端字符的ASCII 码值。
参数:x1,字符表达式
返回:数值型
示例 select ascii('A') A,ascii('a') a,ascii(' ') space,ascii('示') hz from dual;
说明在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 如果最左端是汉字,只取汉字最左半边字符的ASCII 码
互反函数:chr()
2
CHR(n1)
功能:将ASCII 码转换为字符。
参数:n1,为0 ~ 255,整数
返回:字符型
示例 select chr(54740) zhao,chr(65) chr65 from dual;
互反函数:ASCII
3
CONCAT(c1,c2)
功能连接两个字符串
参数c1,c2 字符型表达式
返回字符型 同:c1||c2
示例 select concat('010-','88888888')||'转23' 高乾竞电话 from dual;
4
INITCAP(c1)
功能返回字符串并将字符串的第一个字母变为大写,其它字母小写;
参数c1字符型表达式
返回字符型
示例 select initcap('smith abc aBC') upp from dual;
5
LOWER(c1)
功能:将字符串全部转为小写
参数:c1,字符表达式
返回:字符型
示例 select lower('AaBbCcDd')AaBbCcDd from dual;
同类UPPER()将字符串全部转为大写。
6
UPPER(c1)
功能将字符串全部转为大写
参数c1,字符表达式
返回字符型
示例 select upper('AaBbCcDd') upper from dual;
同类LOWER()将字符串全部转为小写
7
NLS_INITCAP(x[,y])
功能返回字符串并将字符串的第一个字母变为大写,其它字母小写;
参数x字符型表达式
参数Nls_param可选, 查询数据级的NLS设置:select from nls_database_parameters;
例如: 指定排序的方式(nls_sort=) 。
nls_sort=SCHINESE_RADICAL_M(部首、笔画) nls_sort=SCHINESE_STROKE_M(笔画、部首SCHINESE_PINYIN_M(拼音))
返回字符型
示例 select nls_initcap('ab cde') "test", nls_initcap('a c b d e','nls_sort= SCHINESE_PINYIN_M') "test1" from dual;
返回:Ab Cde, A C B D E
select nls_initcap('ab cde') "test", nls_initcap('a c b d e','NLS_LANGUAGE=AMERICAN') "test1" from dual;
1 from tm_role r, tm_role_user_r ru
where rurole_id = rrole_id(+)
这个其实就是 Left outer join
from tm_role_user_r ru left outer join tm_role r
on rurole_id = rrole_id
2wm_concat,这个用 stuff可以替代
-- 查询处理
--SQL2005中的方法2
create table tb(id int, value varchar(10))
insert into tb values(1, 'aa')
insert into tb values(1, 'bb')
insert into tb values(2, 'aaa')
insert into tb values(2, 'bbb')
insert into tb values(2, 'ccc')
go
select id, [values]=stuff((select ','+[value] from tb t where id=tbid for xml path('')), 1, 1, '')
from tb
group by id
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)