oracle函数
深圳gg
这个作者很懒,什么都没留下…
展开
-
trunc()函数用法
1. 日期 select trunc(sysdate) from dual --2013-6-18 今天的日期为2013-6-18 select 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 · 2736 阅读 · 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 · 2968 阅读 · 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 · 1649 阅读 · 0 评论