| 关键词: nbsp 函数 字符串 如图 存储 过程 typeCode 想法 结果 str |
平台报表存储过程的开发,需要根据数据字典给定的特定字母进行查找。这样需要写很多字符串,假如遇到增加计费类型就得到处改存储过程中的字符串。 想法: 为了方便,我把需要修改的字符串定义成一个函数这样只要在存储过程里调用函数即可。 将来扩展也不需要修改其他的存储过程,只要修改方法就可以了。 步骤: 1.创建函数 我创建标量值函数 getTypeCode 返回指定的字符串 Sql代码 create function getTypeCode() returns varchar(20) as www.2cto.com begin declare @str varchar (20) set @str = '"A"' + ',' + '"C"' set @str = replace(@str,'"','''') return @str end 2.调用函数查找数据 没有达到我预期的结果根据函数返回值没有找到数据库中的记录 这是什么回事了呢? 猜想: select 中的 in 是不是直接把函数返回值当成一个字符了? 于是自己收入修改一下typeCode,验证自己的想法 如图所示恰好验证了我的想法 这时候想是不是函数用法不对?在网上找了方法,用另外一种自定义函数表值函数 创建函数 www.2cto.com Sql代码 create function getIncomeCode() returns table as return select typeCode from hzfaq_fee_data where typeCode in ('A','C'); 这样的查询结果恰好是我想要的结果 如图所示: 作者 gaozhonghui |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|