您当前的位置: 首页 > 网站编程 > 点NET教程 > 将数据表中某列查询出来的结果用逗号隔开

将数据表中某列查询出来的结果用逗号隔开

作者:xiaoxiao 来源:未知 发布时间: 2014-07-30 11:20 点击:
/******************************************* * 将数据表中某列查询出来的结果用逗号隔开 *******************************************/ Create Function [dbo] . [f_GetCollateralName] ( @CollateralIds Varchar ( Max ) ) Returns Varchar ( Max ) As Begin Decl

将数据表中某列查询出来的结果用逗号隔开

  /*******************************************

  * 将数据表中某列查询出来的结果用逗号隔开

  *******************************************/

  Create Function [dbo].[f_GetCollateralName]

  (

      @CollateralIds Varchar(Max)

  )

  Returns Varchar(Max)

  As

  Begin

      Declare @thisResult Varchar(Max);

      Select @thisResult = Coalesce(@thisResult, '') + Cast(CollateralName As Varchar(Max))

            + ','

      From   BIS_Collateral

      Where  CollateralId In (Select col

                             From   dbo.f_SplitStr(@CollateralIds, ','));

    

      Set @thisResult = Isnull(@thisResult, '');

      Set @thisResult = Substring(@thisResult, 0, Len(@thisResult));

    

      Return @thisResult;

  End

  /*******************************************

  * 调用示例

  *******************************************/

  Select a.*,dbo.f_GetCollateralName(a.Collateral) CollateralName From BIS_Product a

  另附:

  辅助函数:

  /*******************************************

  * 将某包含多个相同字符的字符串查询为表

  *******************************************/

  CREATE function [dbo].[f_SplitStr]

  (

  @SourceSql nvarchar(max),--源分隔字符串

  @StrSeprate varchar(10)--分隔符

  )

  returns @temp table(col nvarchar(max))

  as

  begin

      declare @i int

      set @SourceSql=rtrim(ltrim(@SourceSql))

      set @i=charindex(@StrSeprate,@SourceSql)

      while @i>=1

      begin

          insert @temp values(left(@SourceSql,@i-1))

          set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)

          set @i=charindex(@StrSeprate,@SourceSql)

      end

      if @SourceSql<>'\'

         insert @temp values(@SourceSql)

      return

  end
分享到:
本文"将数据表中某列查询出来的结果用逗号隔开"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4