huzz  

发一个mysql的函数体,基本上主要的函数语法都有了

 

CREATE  FUNCTION `func_getprojaddr`(projname varchar(200)) RETURNS varchar(300) CHARSET utf8
BEGIN

declare paddr varchar(300) charset utf8 default null ;
declare nofound SMALLINT ;

declare continue handler for not found set nofound=1 ;

set nofound = 0 ;

select CONCAT(p.`城区`,h.`路名`,h.`门牌号`) into paddr from zx_perpresale p
left join zx_house h on p.项目名称 is not null and p.项目名称=h.项目名称
where p.项目名称=projname limit 0,1 ;

if nofound=1 THEN
set paddr = '' ;
end if ;

RETURN paddr;

END

 

注意varchar类型的声明中 charset utf8 的写法,可以防止数据库默认字符集不是utf8,特别是拉丁(这个是最SB的数据库创建时的默认字符集,可以导致函数处理中文的结果完全不正常)

posted on 2016-09-13 11:12  huzz  阅读(177)  评论(0编辑  收藏  举报