- 浏览: 277992 次
-
文章分类
最新评论
-
羽风之扬:
crazydayu 写道您好,我在启动的时候也遇到了这种错误, ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
羽风之扬:
我的也[是这用错误,改过后没效果。这是我的截图,麻烦帮我看下吧 ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
hamizhong:
...
Linux和Python脚本自动部署应用一例(2) -
crazydayu:
您好,我在启动的时候也遇到了这种错误,但是加上127.0.0. ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
lg327969713:
wx_hello 写道你好,请教下,这个链接要配置ODBC数据 ...
Java连接FoxPro6.0数据库(测试)
工作中有时碰到需要在数据库中进行类似Java中split(",")生成数组方法,
希望也在数据库应用开发中也有这样的方法,前段时间查了Oralce官方网站关于管道函数的用法
参照帮助手册自己也写了一个分隔符函数返回数据集的函数,记录并学习...
(Oracle Database 10g Enterprise Edition Release 10.2.0.1.0)
--1 create or replace type split_type as table of varchar2(32676); --2 create or replace function fn_split(in_var varchar2,in_del varchar2,in_flag varchar2) return split_type PIPELINED as temp_str varchar2(32767):=in_var; temp_delimiter varchar2(20):=',';--默认为逗号 temp_index number:=0; --分隔符的索引位置 temp_flag varchar2(20):='0';--默认没有前、后面逗号内容 temp_rec number:=0; --记录最后一位是否存在分隔符号 --通过管道分隔函数实现分组,以指定的分隔符进行划分数据 --标识是否具有首尾分隔符号数据出现数值 --默认为不出现 0不出现 1都出现 2前面出现 3后面出现 --created by zxb 2008-10-31 begin temp_delimiter:=in_del; temp_flag:=in_flag; if length(temp_delimiter)=0 or temp_delimiter is null then temp_delimiter:=','; end if; if length(in_flag)=0 or in_flag is null then temp_flag:='0'; end if; if instr(temp_str,temp_delimiter,-1)=length(temp_str) then temp_rec:=1; end if; if(temp_flag='0') or (temp_flag<>'1' and temp_flag<>'2' and temp_flag<>'3') then if instr(temp_str,temp_delimiter)=1 then temp_str:=substr(temp_str,2); end if; if temp_rec=1 then temp_str:=substr(temp_str,1,length(temp_str)-1); end if; while instr(temp_str,temp_delimiter)>=0 loop temp_index:=instr(temp_str,temp_delimiter); if(temp_index>0) then pipe row(substr(temp_str,1,temp_index-1)); temp_str:=substr(temp_str,temp_index+1); else pipe row(temp_str); exit;--10g, return;--9i end if; end loop; else if temp_flag='1' then while instr(temp_str,temp_delimiter)>=0 loop temp_index:=instr(temp_str,temp_delimiter); if(temp_index>0) then pipe row(substr(temp_str,1,temp_index-1)); temp_str:=substr(temp_str,temp_index+1); else pipe row(temp_str); exit;--10g, return;--9i end if; end loop; if temp_rec=1 then pipe row(''); end if; else if temp_flag='2' then while instr(temp_str,temp_delimiter)>=0 loop temp_index:=instr(temp_str,temp_delimiter); if(temp_index>0) then pipe row(substr(temp_str,1,temp_index-1)); temp_str:=substr(temp_str,temp_index+1); else pipe row(temp_str); exit;--10g, return;--9i end if; end loop; else if instr(temp_str,temp_delimiter)=1 then temp_str:=substr(temp_str,2); end if; while instr(temp_str,temp_delimiter)>=0 loop temp_index:=instr(temp_str,temp_delimiter); if(temp_index>0) then pipe row(substr(temp_str,1,temp_index-1)); temp_str:=substr(temp_str,temp_index+1); else pipe row(temp_str); exit;--10g, return;--9i end if; end loop; if temp_rec=1 then pipe row(''); end if; end if; end if; end if; exception when others then pipe row(''); end; --3简易方法 create or replace function split_del(in_var varchar2,in_del varchar2) return split_type PIPELINED as temp_str varchar2(32767):=in_var; temp_delimiter varchar2(20):=',';--默认为逗号 temp_index number:=0; begin temp_delimiter:=in_del; if length(temp_delimiter)=0 or temp_delimiter is null then temp_delimiter:=','; end if; while instr(temp_str,temp_delimiter)>=0 loop temp_index:=instr(temp_str,temp_delimiter); if(temp_index>0) then pipe row(substr(temp_str,1,temp_index-1)); temp_str:=substr(temp_str,temp_index+1); else pipe row(temp_str); exit;--10g, return;--9i end if; end loop; exception when others then pipe row(''); end; --测试代码 SQL> select * from table (fn_split(',abc,123,---,***,+++,2ss,',',',0)); COLUMN_VALUE -------------------------------------------------------------------------------- abc 123 --- *** +++ 2ss 6 rows selected SQL> select * from table (split_del(',abc,123,---,***,+++,2ss,',',')); COLUMN_VALUE -------------------------------------------------------------------------------- abc 123 --- *** +++ 2ss 7 rows selected SQL>
发表评论
-
mongodb在Java环境下简单使用
2015-09-16 18:42 1316mongodb在Java环境下简单使用,简单记录,简单增删查 ... -
Redis在java中批量操作数据的更新
2014-12-20 21:39 3321背景:同事说Redis在插入数据时,同样存在插入速度慢,只 ... -
WindowXP与Window2003设置MYSQL主从备份
2014-09-16 10:24 954公司要求mysql备份机制,最近结合项目和网上学习资料,实现 ... -
mysql的collation区分大小写设置
2013-03-18 00:03 2778... -
Oracle 存储过程处理存储过程游标集
2013-02-05 10:34 869好久没有写任何东西了,今天补充随便写一点,刚好以前同事问到 ... -
DB2 嵌套动态游标存储过程_记录
2012-06-15 16:45 1918DB2(V9.7) 嵌套动态游标存储过程,已经学习使用DB2近 ... -
Oracle 10g Dynamic report column(eg)
2012-05-14 18:59 950今日(2012-05-14)在群信息里(Oracle ... -
获取指定日期间隔简易一例
2011-12-27 17:58 988今日(2011-12-27)一哥们(Oracle 10. ... -
Installing Oracle 9i on RedHat Linux 7.1, 7.2, 7.3, 8.0, 9, Red Hat Advanced Ser
2011-11-24 10:01 0Werner Puschitz Sr. AIX/Li ... -
Oracle 行自动转动态列一种实现
2011-11-15 19:41 6865环境(Oracle Database 10g En ... -
数据库连续区间汇总(求和)一例,rownum伪列利用(原创)
2011-07-18 13:34 1601环境(Oracle Database 10g Ent ... -
oracle job使用详解及job不运行的检查方法(转载)
2011-02-14 10:11 1772oracle job使用 ... -
Oracle 字符集的查看和修改(转)
2011-01-28 12:46 1053一、什么是Oracle字符集 Oracle字 ... -
EXP命令:参数、举例、注意事项、问题与解决
2010-05-12 11:09 0(http://space.itpub.net/2365085 ... -
oracle 物化视图(转载)
2010-04-13 23:20 0(http://www.blogjava.net/beauty ... -
Oracle SYS_CONTEXT Function
2010-03-15 21:19 1515Oracle SYS_CONTEXT Function Ver ... -
Rman学习笔记记录
2010-02-25 17:15 1879记录前段时间学习ORACLE10g (10.2.0 )RMA ... -
Oracle错误:ORA-00604处理
2009-11-11 17:40 4506ORACLE性能调优篇---Oracle错误:ORA-0060 ... -
oracle中表数据横向转纵向显示(再一题)
2009-09-25 17:22 0最近工作又碰到了在Oracle(10.2.0)使用数 ... -
ORACLE查询笔记(mysql)
2009-06-09 09:30 1619好记性当不得烂笔头,把工作、学习中一点东西作个笔记... ...
相关推荐
4、易于集成:函数设计简洁,易于集成到现有的Oracle数据库系统中,无需复杂的配置和改造。 5、优化查询性能:通过避免复杂的子查询和嵌套循环,我们的函数显著提升了数据处理的速度,减少了数据库资源的消耗,让您...
15. TO_CHAR 函数:将数字转换为格式化的字符串,如TO_CHAR(9999.99) 可以控制小数点后的位数和千分位分隔符等。 这些函数在处理Oracle数据库中的数据时非常实用,无论是数据清洗、数据分析还是报告生成,都能大大...
Oracle 中实现 Split 函数功能的优点是可以灵活地处理不同的分隔符和字符串长度。同时,这个函数也可以与其他 Oracle 函数和操作符结合使用,以实现更加复杂的数据处理任务。 在实际应用中,Oracle 中实现 Split ...
本文将深入探讨如何在PL/SQL中创建自定义聚集函数,以实现自定义分隔符的字符串拼接。 首先,让我们理解聚集函数的概念。聚集函数在SQL查询中用于处理一组值,而不是单个值。它们对一组行进行操作并返回单个结果。...
Oracle 10g是一款历史悠久但仍然广泛使用的数据库管理系统,它提供了丰富的函数库,使得数据库管理和查询更为便捷高效。本文将深入探讨Oracle 10g中的关键函数,旨在为数据库管理员和开发人员提供全面的参考。 一、...
本文详细介绍了如何在 Oracle 数据库中实现字符串分隔的功能,通过自定义函数 `splitstr` 实现了根据用户定义的分隔符来分割字符串的目标。这种方法不仅灵活,而且易于维护和扩展,非常适合于处理各种复杂的字符串...
### Oracle 10g与9i中的多行合并为一行函数详解 在Oracle数据库系统中,经常需要将多个行的数据合并成单行显示,尤其是在处理报告或者需要将多个值组合成一个字符串的情况下。本文将详细介绍如何在Oracle 10g与9i...
在Oracle数据库中,有时我们需要对字符串进行拆分处理,以便于处理包含多个元素的数据。例如,在给定的场景中,有一个名为`JOB_NUMBER`的字段,它存储的是多个工号,以特定的分隔符(如斜杠"/")分隔。需求是创建一...
在Oracle数据库中,由于内置函数不直接支持像Java中的`split`那样拆分字符串并返回数组,因此开发者需要自定义函数来实现这一功能。这里提到的两种方法都是为了解决这个问题,即根据指定的分隔符将字符串拆分为一个...
Oracle数据库中的字符函数是SQL和PL/SQL编程中不可或缺的一部分,它们主要用于处理和操作文本数据。以下是对给定文件中提到的一些主要字符函数的详细解释: 1. ASCII(n) 函数: - 该函数返回字符串的第一个字符的...
在Oracle数据库中,处理字符串是常见的操作之一,尤其是在数据分析或数据清洗的过程中。有时我们需要将一个长字符串分割成多个部分,以便进行进一步的操作。Oracle提供了一些内置的函数来帮助我们完成这个任务。本篇...
Oracle数据库中的单行字符串函数是处理和操作字符串数据的...了解并熟练掌握这些单行字符串函数对于在Oracle数据库中进行数据操作和查询至关重要,它们可以帮助开发者高效地处理字符串数据,实现复杂的文本处理需求。
例如,`999G999`会根据`NLS_NUMERIC_CHARACTER`参数设定的分隔符来分隔数字,`9.99D9`会定位小数点,`$$999 999.99`会在数字前放置美元符号。此外,还有`PR`用于格式化负数,`R`用于罗马数字,`S`将符号放在数值后,...
- **PL/SQL词汇单元分隔符**: 如`;`用于分隔语句。 - **标识符**: 用于命名变量、函数等。 - **文本**: 包括数字文本、字符文本、字符串文本等。 - **注释**: 单行注释`--`或多行注释`/* */`。 - **PL/SQL代码编码...
这些内置函数是Oracle数据库处理数据时的重要工具,它们可以帮助开发者实现复杂的查询、转换和格式化任务,提升数据库操作的灵活性和效率。了解并熟练运用这些函数,对于提高数据库管理的技能和提升工作效率至关重要...
1. 使用LISTAGG函数:从Oracle 11g开始,官方提供了LISTAGG函数,它可以按照指定的分隔符连接字符串。例如: ```sql SELECT LISTAGG(column, ', ') WITHIN GROUP (ORDER BY column) AS aggregated_column FROM ...
在Oracle数据库中,处理字符串是一项常见的需求,尤其是在需要将包含特定分隔符的字符串分割成多个独立的部分时。Oracle标准SQL并没有提供直接用于字符串分割的内置函数,因此开发者通常会通过自定义函数的方式来...
在Oracle数据库中,并没有内置的split函数来处理字符串的分割操作。然而,在实际应用中,经常需要将一个包含多个值的字符串按照指定的分隔符进行拆分,转换为表格式的数据,以便进行进一步的处理或查询。为此,可以...
Oracle SQL 内置函数是数据库查询和操作的重要组成部分,它们极大地简化了数据处理的复杂性。在Oracle 8i版本中,提供了丰富的函数集来处理...因此,对于任何Oracle数据库的使用者来说,掌握这些函数都是至关重要的。