SQL server中字符串逗号分隔函数分享

所属分类: 数据库 / MsSql 阅读数: 1251
收藏 0 赞 0 分享

SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做)

例:查找姓名为“张三,李二” 的数据此时在数据库里就要对此参数做处理如图:

函数代码如下

CREATE FUNCTION [dbo].[fnSplitStr] (
 @sText  NVARCHAR(Max),
 @sDelim  CHAR(1)
)

RETURNS @retArray TABLE (
 value VARCHAR(100)
)
AS
BEGIN
 DECLARE 
  @posStart  BIGINT,
  @posNext  BIGINT,
  @valLen   BIGINT,
  @sValue   NVARCHAR(100);

 IF @sDelim IS NULL 
 BEGIN
  IF LEN(@sText)>100 SET @sText = SUBSTRING(@sText, 1, 100)
  
  INSERT @retArray (value)
  VALUES (@sText);
 END
 ELSE
 BEGIN
  SET @posStart = 1;

  WHILE @posStart <= LEN(@sText)
  BEGIN
   SET @posNext = CHARINDEX(@sDelim, @sText, @posStart);

   IF @posNext <= 0 
    SET @valLen = LEN(@sText) - @posStart + 1;
   ELSE
    SET @valLen = @posNext - @posStart;

   SET @sValue = SUBSTRING(@sText, @posStart, @valLen);
   SET @posStart = @posStart + @valLen + 1;

   IF LEN(@sValue) > 0
   BEGIN
    IF LEN(@sValue)>100 SET @sValue = SUBSTRING(@sValue, 1, 100)
    
    INSERT @retArray (value)
    VALUES (@sValue);
   END
  END
 END
 RETURN
END

好了,关于sql字符串逗号分隔函数就介绍到这,大家可以参考一下。

更多精彩内容其他人还在看

sql 分组查询问题

sql 分组查询问题,需要的朋友可以参考下。
收藏 0 赞 0 分享

MSSQL 数据库备份和还原的几种方法 图文教程

MSSQL 数据库备份和还原的几种方法小结,配有图文,大家看了就知道了。
收藏 0 赞 0 分享

GridView自定义分页的四种存储过程

首先要说说为什么不用GridView的默认的分页功能,GridView控件并非真正知道如何获得一个新页面,它只是请求绑定的数据源控件返回适合规定页面的行,分页最终是由数据源控件完成。
收藏 0 赞 0 分享

Godaddy 导入导出MSSQL数据库的实现步骤

可以从限制文件中导入SQL共享服务器数据库。如果想把存放在其他地方的数据导入,需要先把其内容拷到限制文件中。(
收藏 0 赞 0 分享

得到自增列的下一个会插入的id

怎么得到自增列的下一个会插入的id
收藏 0 赞 0 分享

几个简单的基本的sql语句

这个是从网上看到的。。。COPY一下。。有时候忘记了。。
收藏 0 赞 0 分享

sqlserver 自动备份所有数据库的SQL

可自动备份除系统数据库外的所有数据库。备份文件的周期保存周期可以更改。
收藏 0 赞 0 分享

SQL Server 服务器优化技巧浅谈

数据文件和日志文件的操作会产生大量的I/O。在可能的条件下,日志文件应该存放在一个与数据和索引所在的数据文件不同的硬盘上以分散I/O,同时还有利于数据库的灾难恢复。
收藏 0 赞 0 分享

sql2005 存储过程分页示例代码

sql2005分页存储过程示例
收藏 0 赞 0 分享

union组合结果集时的order问题

如果能确定各查询结果不会有重复的项,最好就带上all,因为这样还是可以提高一些效率的。
收藏 0 赞 0 分享
查看更多