星空网 > 软件开发 > 数据库

MS SQL 字符拆分存处理

MS SQL Server没有split()函数,但是我们可以写一个Table-valued Functions定义函数[dbo].[udf_SplitStringToTable] :
MS SQL 字符拆分存处理

MS SQL 字符拆分存处理MS SQL 字符拆分存处理
CREATE FUNCTION [dbo].[udf_SplitStringToTable] (   @string NVARCHAR(MAX),   @delimiter CHAR(1) ) RETURNS @result TABLE([ID] INT IDENTITY(1,1),value NVARCHAR(MAX) ) BEGIN   DECLARE @start INT, @end INT   SELECT @start = 1, @end = CHARINDEX(@delimiter, @string)   WHILE @start < LEN(@string) + 1   BEGIN     IF @end = 0       SET @end = LEN(@string) + 1        INSERT INTO @result (value) VALUES (SUBSTRING(@string, @start, @end - @start))     SET @start = @end + 1     SET @end = CHARINDEX(@delimiter, @string, @start)      END   RETURN END

Source Code


再写另外一个Scalar-valued Function自定义函数[dbo].[udf_SplitString]:
MS SQL 字符拆分存处理


MS SQL 字符拆分存处理MS SQL 字符拆分存处理
CREATE FUNCTION [dbo].[udf_SplitString](  @string NVARCHAR(MAX),   @delimiter CHAR(1),  @index INT)RETURNS NVARCHAR(MAX)ASBEGIN  DECLARE @rtn NVARCHAR(MAX)  SELECT @rtn = [value] FROM [dbo].[udf_SplitStringToTable] (@string,@delimiter) WHERE [ID] = @index  RETURN @rtnENDGO

Source Code


上面代码示例中@index参数即是你想获取第几个字符串,举个例子吧:
MS SQL 字符拆分存处理

 




原标题:MS SQL 字符拆分存处理

关键词:sql

sql
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流