【Oracle语句(三)-- 字符函数】教程文章相关的互联网学习教程文章

Oracle自定义行转列函数【图】

行转列自定义函数,只针对TABLE1表 --paramType是参数类型,用于判断,param1和param2是条件参数 create or replace function My_concat(paramType in integer,param1 in varchar2,param2 in varchar2) return varchar2 is resultStr varchar2(2000); begin if paramType = 1 then --定义游标for temp_cursor1 in (select CONTA_ID FROM TABLE1 WHERE FORM_ID=param1 and orderType=param2)loopresultStr:=resultStr||temp_cursor1...

oracle的TO_NUMBER函数【代码】

to_number(‘123.45‘) from dual;TO_NUMBER(‘123.45‘) -------------------123.45SQL> select to_number(‘123.45‘, ‘9999.99‘) from dual;TO_NUMBER(‘123.45‘,‘9999.99‘) -----------------------------123.45SQL> select to_number(‘12‘, ‘99‘) from dual;TO_NUMBER(‘12‘,‘99‘) --------------------12SELECT TO_NUMBER(‘$12,123.23‘,‘$999,999.99‘) FROM DUAL;SQL> SQL> SQL> SQL>Do calculation after t...

oracle的sql积累..&..decode函数使用

SELECT a.areaname as 二级地名 FROM houses h,houses h2,areas a WHERE h.areaid=a.areasid AND h2.areaid=a.areasid AND h.finalassessmentid=1 AND h.houseslevel=2 AND h2.houseslevel=1 AND a.areasid!=a.parentareasid AND a.companysid=2; select * from areasselect count(h.houseslevel) as 总数,count(h1.houseslevel) as 最新累计成盘,count(h2.houseslevel) as 最新累计必交盘 from houses h,houses h1,houses h2 wher...

case..then..oracle函数的研究.......

SELECT a.areaname as 二级地名 FROM houses h,houses h2,areas a WHERE h.areaid=a.areasid AND h2.areaid=a.areasid AND h.finalassessmentid=1 AND h.houseslevel=2 AND h2.houseslevel=1 AND a.areasid!=a.parentareasid AND a.companysid=2; select * from areasselect count(h.houseslevel) as 总数,count(h1.houseslevel) as 最新累计成盘,count(h2.houseslevel) as 最新累计必交盘 from houses h,houses h1,houses h2 wher...

ORA-00937:不是单组分组函数_Oracle【图】

SELECT USER_ID,2 USER_NAME,3 USER_SEX,4 MAX(USER_AGE),5 SUM(USER_MONEY) AS USER_MONEY6 USER_TEL,7 USER_EMAIL,8 USER_ADD,9 USER_STATUS, 10 FROM USERS 11 ORDER BY USER_NAME, USER_SEX, USER_STATUS; 12 类似这种,多个字段的GROUP BY该怎么写。 1.USER_TEL, USER_EMAIL, USER_AD不是分组函数里的字段。 你是group by 的语法不太熟悉。 对于gr...

oracle学习篇五:组函数,分组统计

常用组函数: 1.ccount() 求出全部记录数。 2.max() 求出一组最大值 3.min() 求出一组最小值 4.avg() 求出平均值 5.sum() 求和 --1.统计员工数量: select count(empno) from emp; --2.求出最高薪资 select max(sal) from emp; --3.求出最低薪资 select min(sal) from emp; --4.求出平均薪资 select avg(sal) from emp; --查询各部门员工数量 select deptno,count(empno) from emp group by deptno --查询...

Oracle中函数如何返回结果集

在Oracle中,用函数返回结果集有时候要用到,下面是demo:1 2 3 4 5 6 7create or replace type t_test as object ( id integer, create_time date, object_name varchar2(60) ); create or replace type t_test_table as table of t_test;1.用数组的方式1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20create or replace function f_test(n in number default null) return t_test_table as v_test t_test_table := t_test_ta...

数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引【图】

,.varchar2 把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节,VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;建议在oracle中使用varchar2Number(7,2) 数值类型整数位占5位,小数位占2位,一共7位。 Date 时间类型7.Scott用户下的表结构 8. sql 1.sql简介 结构化查询语言(Structured Query Language)简称SQL(发音:/??s kju? ??l/ "...

oracle 左边填充函数使用

左边填充 select lpad(‘abcde‘,10,‘0‘) from dual; ==》00000abcde select lpad(‘abcde‘,10,‘x‘) from dual;==》 xxxxxabcde 语法格式如下: lpad( string, padded_length, [ pad_string ] ) string 准备被填充的字符串; padded_length 填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符; pad_string 填充字符串,是个可选...

oracle next_day,add_month函数

next_day()获得当前日期的下一个星期几的日期,从字面意思容易理解成是获得当前日期的接下来的几天的日期。例如:select next_day(to_date(‘20160330‘,‘yyyymmdd‘),1) from dual;返回结果是20160403。参数可以是数字1-7或者是monday-sunday获得下个星期的周几的日期。另外一个常用到的oracle日期函数:add_months()获得当前日期的前或者后几个月的日期。当参数为正数获得当前日期增加几个月的日期,当参数为负获得当前日期减去...

oracle函数、存储过程、序列【代码】【图】

or replace function c2b (b in clob default empty_clob()) return blob isres blob;bLen number := dbms_lob.getlength(b);destOffset1 number := 1;srcOffset1 number := 1;amountC integer := dbms_lob.lobmaxsize;blobCsid number := dbms_lob.default_csid;langCtx integer := dbms_lob.default_lang_ctx;warning integer; beginif bLen > 0 thendbms_lob.createtemporary(res, true);dbms_lob.open(res, dbms_lob.lob_readw...

Oracle lag()/lead() over()分析函数【代码】【图】

with tmp as(select ‘1‘ id ,‘aa‘ name ,‘22‘ age from dual union allselect ‘2‘ id ,‘bb‘ name ,‘20‘ age from dual union allselect ‘3‘ id ,‘CC‘ name ,‘21‘ age from dual)select a.*, lead(age,1) over (order by id desc) lag, a.age - lead(age,1) over (order by id desc) lag1from tmp a lead函数是按id倒序排序把下一行的age记录显示在当前行的列lag,为null显示null with tmp as(select ‘1‘...

Oracle中的数值处理相关函数介绍【代码】

2、单值函数 单值函数一般都比较简单,但是很常用。 2.1、四则运算 他们分别是“+”,“-”,“*”,“/”,很简单,大家都会,不多说,看下简单示例: select 3+2,3-2,3*2,3/2 from users; 结果很显然:5 1 6 1.5 2.2、NULL 我们想将上面的SQL改为与NULL一起运算看下结果如何: select 3+NULL,3-NULL,3*NULL,3/NULL from users; 结果将返回:NULL NULL NULL NULL 对,他们的结果都为空,事实上,任何包含...

oracle decode函数使用方法【图】

decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。工具/原料 软件环境:1、Windows NT4.0+ORACLE 8.0.42、ORACLE安装路径为:C:/ORANT 方法/步骤 DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加...

ORACLE 日期函数

示例语句: 取当前数据库系统的时间 SELECT SYSDATE FROM DUAL; 以特定的时间格式显示 SELECT TO_CHAR(SYSDATE,‘YYYY-MM-DD HH24:MI:SS‘) FROM DUAL; 更改当前会话(SESSION)的方式,来统一设置当前会话日期显示格式 ALTER SESSION SET NLS_DATE_FORMAT=‘YYYY-MM-DD HH24:MI:SS‘; 显示后一个月的时间 SELECT ADD_MONTHS(SYSDATE,1) FROM DUAL; 显示前一个月的时间 SELECT ADD_MONTHS(SYSDATE,-1) FROM DUAL; 显示后一个月和前...