Oracle
文章平均质量分 50
我爱吃红薯
这个作者很懒,什么都没留下…
展开
-
Oracle的函数 ceil(),floor(),round(),trunc(),greatest(),least(),max(),min(),sign()
1,ceil() :取大于等于数值n的最小整数:select ceil(0.5) a from dual --返回1select ceil(-0.5) a from dual --返回02,floor():取小于等于数值n的最大整数:select floor(0.5) a from dual --返回0 select floor(-0.5) a from dual --返回-13,round(n,m):四舍五入,其中m是保留的小数位数。se..原创 2021-04-15 23:39:03 · 586 阅读 · 0 评论 -
ROW_NUMBER() OVER()函数用法详解 (分组排序 例子多)
语法格式:row_number() over(partition by 分组列 order by排序列 desc)row_number() over()分组排序功能:在使用 row_number() over()函数时候,over()里头的分组以及排序的执行晚于 where 、group by、 order by 的执行。例一:表数据:create table TEST_ROW_NUMBER_OVER( id varchar(10) not null, ..转载 2020-09-22 17:57:10 · 8852 阅读 · 2 评论 -
Oracle to_number()获取数据库当前日期的年、月、日、时、分、秒
select to_number(to_char(sysdate,'yyyy')) from dual --年select to_number(to_char(sysdate,'mm')) from dual --年select to_number(to_char(sysdate,'dd')) from dual --日select to_number(to_char(sysdat...原创 2020-06-19 00:31:29 · 1551 阅读 · 0 评论 -
left join(左关联)、right join(右关联)、inner join(自关联)的区别
left join(左关联)、right join(右关联)、inner join(自关联)的区别用一张图说明三者的区别: 总结:left join(左联接) 返回包括左表中的所有记录和右表中关联字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中关联字段相等的记录inner join(等值连接) 只返回两个表中关联字段相等的行举例如...转载 2019-12-19 14:43:17 · 272 阅读 · 0 评论 -
Oracle 多个with as
项目中早些时间,有个oracle查询语句写的极其复杂,因为数据量小的关系,当时也并没有怎么在意,回来随着时间过去,客户数据库数量越来越大,那段语句的劣性就体现的非常明显。优化时,发现查询关系逻辑混乱又复杂(虽然数据查询结果并没有错),多个类似的子查询嵌套,导致查询性能变的很低。寻求资料知道ORACLE有个WITH as 用法及其好用写法大致如下:WITH query1 AS...转载 2019-12-10 17:26:52 · 4728 阅读 · 0 评论 -
Oracle sql语句中如何把一列的值合并为一个值,用逗号隔开(使用listagg函数)
listagg语法:listagg() WITHIN GROUP () , 将多行合并成一行例:select * from userinfo把上面name的列上的所有值合并在一行一列表示:select listagg(name, ',') within group( order by name) as name from userinfo 效果:...原创 2019-10-30 17:57:18 · 2951 阅读 · 0 评论 -
Oracle sql创建序列sequence
知道的创建表序列的用途是当建立表的时候,Oracle不像Mysql一样会有自动主键增长AUTO_INCREMENT,所有如果需要主键自动增长的效果,Oracle提供了序列sequence方式。创建序列: create sequence seq_表名 start with 1 maxvalue 999999999999999 minvalue 1 nocycle...原创 2019-10-30 17:57:38 · 7089 阅读 · 0 评论 -
Oracle sql函数decode(),nvl(),nvl2()和coalesce()
1,decode使用语法:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)。decode解释:decode(X,A,B,C,D,E),如果X条件=A,那么返回B,否则如果X=C,那么值=D,如果都不等于返回默认值E。相当于java中的if else,如果默认返回值E不写,默认返回null。if(X==A){ return B;}else if(X=...原创 2019-10-30 17:58:20 · 996 阅读 · 0 评论 -
Oracle sql日期字符串相互格式化函数to_date()和to_date()
1,to_date('2013-1-1','yyyy-mm-dd') :一个具体字符串日期格式化,成为一个数据库日期对象,不同的格式可以得到同一个日期对象,一般用于日期插入insert和where条件中。select to_date('2013-1-1','yyyy-mm-dd') from dual ----2013/1/1 ,是字符串2,to_char(a.begintime,...原创 2019-10-30 17:56:56 · 2832 阅读 · 0 评论