PostgreSQL Server Programming之UDF(自定义函数)

原创
2015/05/08 14:41
阅读数 355
-- @author doctor
-- @time 2015年5月8日  
-- 中文二分词。 a 二分词后计算在b中出现的数目。

CREATE OR REPLACE FUNCTION "wordCount"(IN a varchar, IN b varchar) 
RETURNS integer AS
$$
DECLARE
	 text_a varchar := trim(a);
	 text_b varchar := trim(b);
	 len int := char_length(text_a)-1;
	 sumWord int := 0;
	 idex int := 1;
	 temp varchar;
	 assistant varchar := '博士日';
	   
BEGIN
	if a is null then	    
	   return 0;
	end if;
	
 
	Loop
		 exit when idex > len ;
		  temp := substring(text_a,idex,2);
		  idex := idex +1;
		  sumWord := sumWord + char_length(replace(text_b,temp,assistant))- char_length(text_b) ;
		
	end Loop;
		
	return sumWord;
	
END;

$$
LANGUAGE 'plpgsql'  IMMUTABLE;


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部