SQL中实用的小技巧

以下均针对oracle数据库,与mysql、sqlserver或有出入,欢迎共同交流

1、查找符合条件的记录数,查不到时显示为0而不是返回null

select case count(id)  when 0 then 0 else count(id)  from 表名 where xx=xx 

2、查询符合某件数字字段 所占整体的百分比 并保留两位小数
例:11.11%

select CONCAT(to_char(sum(字段名)/(select sum(字段名) from 表名)*100,'fm9999990.00'),'%')  baifenbi  from 表名where xx='xx' 

3、查询某个时间段内的数据

select * from 表名where  字段名  between to_date('2018-1-1','yyyy-MM-dd') and to_date('2018-10-23','yyyy-MM-dd') 

4、按照指定顺序查询

select * from 表名   order by DECODE(字段名,'AA',1,'BB',2,'CC',3);
//按照 AA BB CC 的顺序排序  如果字段是数字则直接DECODE(字段名,1,2,3); 就可以了

待更。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值