oracle函数
深圳gg
这个作者很懒,什么都没留下…
展开
-
trunc()函数用法
1. 日期select trunc(sysdate) from dual --2013-6-18 今天的日期为2013-6-18select trunc(sysdate, 'mm') from dual --2013-6-1 返回当月第一天.select trunc(sysdate,'yy') from dual --2013-1-1 返回当年第一天原创 2013-06-08 08:43:39 · 1825 阅读 · 0 评论 -
COALESCE 处理NULL值
现在有需求,计算出每个雇员的收入,收入=工资+福利。create table plch_employees ( employee_id number (4) NOT NULL, employee_name varchar2 (10) NOT NULL , employee_salary number (7,2) NOT NULL , employee_comm number原创 2013-10-11 08:44:39 · 2737 阅读 · 0 评论 -
LNNVL函数使用
显示那些佣金比例(commision)不大于20%或者为NULL的员工的信息。CREATE TABLE plch_employees( employee_id INTEGER PRIMARY KEY, last_name VARCHAR2 (100), salary NUMBER, commission_pct N原创 2013-10-11 09:48:02 · 2163 阅读 · 0 评论 -
如何判断一个字符在一个字符串中出现的次数
在平常的业务中,会有业务单据上有多个所属部门的信息,如何判断出有多个部门,如下实例所示,可以通过判断分号来判断部门的个数。with t as (select ';11482;11484;107875;' dept_id from dual)select length(replace(translate(dept_id,'0123456789',' '),' ','')) cishu fro原创 2013-11-07 09:10:25 · 2970 阅读 · 0 评论 -
Oracle 11g 列转行listagg
在Oracle 11g之前列转行有些麻烦,11g之后,非常简单。现在有功能的业务是,有一张test的表记录的是单据的审批信息,id为审批信息的主键,sheet_id为外键,是单据的id,remark为审批的内容,在前端的列表页面上,要看到这个单据所有的审批信息,要显示在一个格子里面。SQL> drop table test purge;SQL> create table test(原创 2014-09-02 11:37:57 · 2821 阅读 · 0 评论 -
巧用coalesce
现在有这么一个需求,小区有几个联系人,现在停电,先通知联系人1,如果没有则通知联系人2,否则还没有则通知联系人3.create table test( id number, name varchar2(20), contact_phone1 varchar2(20), contact_phone2 varchar2(20), contact_phone原创 2015-01-15 09:04:44 · 1650 阅读 · 0 评论