- 浏览: 579553 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
splitstr函数
使用splitstr函数
假如表A的一列数据有A1,A2等分隔符分开 此时需要对表A的这个字段进行统计
CREATE OR REPLACE FUNCTION splitstr(p_string IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN str_split PIPELINED AS v_length NUMBER := LENGTH(p_string); v_start NUMBER := 1; v_index NUMBER; BEGIN WHILE(v_start <= v_length) LOOP v_index := INSTR(p_string, p_delimiter, v_start); IF v_index = 0 THEN PIPE ROW(SUBSTR(p_string, v_start)); v_start := v_length + 1; ELSE PIPE ROW(SUBSTR(p_string, v_start, v_index - v_start)); v_start := v_index + 1; END IF; END LOOP; RETURN; END splitstr;
使用splitstr函数
SELECT COLUMN_VALUE FROM TABLE(SPLITSTR('1,9', ',')) ;
假如表A的一列数据有A1,A2等分隔符分开 此时需要对表A的这个字段进行统计
--id中的值可能有1,2 1 2 等 SELECT R.NAME , SUM(DECODE(E.STATUS,1,1,0)) AS 状态为1的总数, SUM(DECODE(E.STATUS,2,1,0)) AS 状态为2的总数 FROM A E, 字典表 R WHERE EXISTS (SELECT COLUMN_VALUE FROM TABLE(SPLITSTR(E.id, ',')) it WHERE it.column_value = r.id) GROUP BY R.NAME;
发表评论
文章已被作者锁定,不允许评论。
-
sql 最小化表查询次(col1,col2) = (select col1,col2 from t)
2018-01-02 16:51 531最小化表查询次数 ... -
sql 用inner join取代in和exists
2018-01-02 16:48 1116使用表连接替换EXISTS ... -
oracle HINT详解
2017-09-01 10:42 495ORACLE的HINT详解 hints是oracle提供的 ... -
oracle jdbctemplate如何优化查询速度
2017-08-21 09:33 12801.设置setFetchSize进行优化 // 可以优化 ... -
oracle Parallel模式-Parallel用法(/*+PARALLEL(n)*/)
2017-08-18 16:48 18121.用途 强行启用 ... -
oracle 存储过程学习总结
2016-08-22 08:42 333dbms_output.put_line('CONCAT ... -
oracle SGA总结信息
2016-07-06 10:38 495SGA 系统全局区 SGA是Oracle用来为实例村粗数据和 ... -
oracle where条件分支查询
2016-06-30 16:16 505select * from test xx where ... -
oracle with as用法
2016-06-24 09:58 918with as语法 –针对一个别名 with tmp as ... -
oracle 重复数据处理的sql整理
2016-06-22 14:44 376Oracle 删除重复数据只留一条 1、查找表中多余的重 ... -
oracle 数据库组成部分(数据库(各种文件)+实例(SGA PGA + 后台进程))知识
2016-04-11 19:51 1241一、SQL server中的实例与 ... -
oracle expdp与impdp导入导出
2016-03-17 10:17 1267[b]数据泵工具导出的步骤:[/b] 1、创建DIRECT ... -
oracle 常用sql语句积累
2016-01-28 11:01 5471.删除重复列 delete from t t1 where ... -
oracle forall关键字进行批量操作
2014-12-12 15:26 1020两个数据操纵语言(DML)语句:BULK COLLECT和FO ... -
oracle 表中有子父关系列则使用CONNECT BY PRIOR
2014-10-27 10:08 402查询名字为xx xxx的所有子数据 SELECT re.U ... -
oracle 存储过程使用实例
2014-10-22 17:41 5911.建包 CREATE OR REPLACE PACKA ... -
oracle 删除大量数据后整理表(analyze table xxx compute statistics)
2014-10-17 18:09 21801. DELETE 后 TRUNCATE TABLE ; 然 ... -
oracle 高效Sql语句总结
2014-10-08 11:23 488No SQL,No cost. SQL语句是造成数据库 ... -
oracle merge 更新或插入数据
2014-09-26 14:26 471主要功能 提供有条件地更新和插入数据到数据库表中 如果该 ... -
Oracle时间去除零的问题
2014-07-17 19:48 819天碰到只要取月份和天数,如果月份前面有0要去掉0.比如说201 ...
相关推荐
。。。
。。。
select * from dbo.splitstr('a,b,c,d,e') --返回表格 a b c d e --用处 select * from tbtable where ZID in (select ZValue from dbo.splitstr('a,b,c,d,e')) --用法 select dbo.GetCharItem('A,B,C,DE,F,GH',',...
oracle中没有方便分割字符串的的函数,仿照c#中的split方法和网友的方法,并进行了改进,(1)先自定义个类型str_split,(2)分割函数splitstr,返回table;(3)取第n个数组的get_splitstr,用户1,2,3部建好,使用时只需要...
最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理
f_splitstr(分割字符串),根据业务可自行设定需要分割的字符串。
首先是写一个分割字符串的函数,返回table类型 CREATE OR REPLACE FUNCTION fn_split (p_str IN VARCHAR2, p_delimiter IN VARCHAR2) RETURN ty_str_split IS j INT := 0; i INT := 1; len INT := 0; len1 INT...
create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as varchar(100) set @SourceSql=@SourceSql+@StrSeprate ...
有时候我们在SQL Server中需要对一些字符串进行分隔,比如a,b,c ,按照‘,’进行分割,可以使用下边这个函数方法,新建方法如下: CREATE FUNCTION dbo.f_splitstr(@SourceSql NVARCHAR(MAX),@StrSeprate VARCHAR...
CREATE FUNCTION SplitStr (@splitString varchar(8000), @separate varchar(10)) RETURNS @returnTable table(id int, col_Value varchar(50)) AS BEGIN declare @thisSplitStr varchar(50) declare @...
有时候我们在SQL Server中需要对一些字符串进行分隔,比如a,b,c ,按照‘,’进行分割,可以使用下边这个函数方法,新建方法如下: CREATE FUNCTION dbo.f_splitstr(@SourceSql NVARCHAR(MAX),@StrSeprate VARCHAR...
String[] splitstr = lines.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); //Console.WriteLine("Length=" + splitstr.Length); for (int i = 0; i < splitstr.Length; i++) { ...
一、提取网页源码函数 -------------------------------- 在 VB 中,可以使用 Microsoft.XMLHTTP 对象来提取网页源码。下面是一个简单的函数示例: ```vb Public Function HtmlStr$(URL$) Dim XmlHttp Set ...
即调用下面的ShakeHand函数。如果不是#0,则为连接后的数据信息,请自行解析。 参数:接收到的数据和长度。 返回:HTML5 Client的IP地址和端口。 代码中包括: HTML5 WebSocket 握手协议的说明及解析代码; ...
/// /// 字符串操作类 /// 1、GetStrArray(string str, char speater, bool ... /// 13、SplitMulti(string str, string splitstr)分割字符串 /// 14、SqlSafeString(string String, bool IsDel) /// 等操作
将字符串按某个固定字符拆分成一个表结构(value,id) eg:1,2,3,3,4 拆分后: value id 1 1 2 2 3 3 3 4 4 5
这些函数位于splitStr.js中,您可以复制它们以使用它们,或者将其作为模块使用,写回导出方法,具体取决于您所处的上下文,节点是否已经完成,es2015是否可以使用导出默认值和导入语句。 选择适合您的功能。 test....
if(splitStr==null||splitStr.trim().equals("")){ splitStr=" "; } StringTokenizer st = new StringTokenizer(str, splitStr,false); System.out.println("ArraySize:"+st.countTokens()); arr...