CREATE FUNCTION [dbo].[fsplit]
(
@str NVARCHAr(4000) ,
@sep NVARCHAr(4000) ,
@index INT
)
RETURNS NVARCHAr(4000)
AS
BEGIN
DECLARE @i INT
DECLARE @k INT
SET @k = 0
DECLARE @rtStr NVARCHAr(4000)
SET @str = @str + @sep
SET @i = CHARINDEX(@sep, @str)
WHILE @i > 0
BEGIN
--INSERT INTO @tb
--VALUES ( LEFt(@str, @i - 1) )
IF @k = @index
BEGIN
SET @rtStr = LEFt(@str, @i - 1)
BREAK
END
SET @str = SUBSTRINg(@str, @i + 1, 4000)
SET @i = CHARINDEX(@sep, @str)
SET @k = @k + 1
END
RETURN RTRIm(LTRIm(@rtStr))
END
GO
急等!请问如何写单纯的SQL语句实现下面的自定义函数功能
答案:1 悬赏:10 手机版
解决时间 2021-01-31 10:07
- 提问者网友:萌卜娃娃
- 2021-01-30 18:55
最佳答案
- 五星知识达人网友:平生事
- 2021-01-30 19:59
GO
DECLARE @i INT
DECLARE @k INT
SET @k = 0
DECLARE @rtStr NVARCHAr(4000)
SET @str = @str + @sep
SET @i = CHARINDEX(@sep, @str)
WHILE @i > 0
BEGIN
--INSERT INTO @tb
--VALUES ( LEFt(@str, @i - 1) )
IF @k = @index
BEGIN
SET @rtStr = LEFt(@str, @i - 1)
BREAK
END
SET @str = SUBSTRINg(@str, @i + 1, 4000)
SET @i = CHARINDEX(@sep, @str)
SET @k = @k + 1
END
SELECT RTRIm(LTRIm(@rtStr))
GO
你把这一段当成是一个SQL语句,放到程序里面去执行就是了
@str NVARCHAr(4000) ,
@sep NVARCHAr(4000) ,
@index INT
这几个东西用程序里面的string去代替就可以了
语句块也是一条SQL语句!!谢谢
DECLARE @i INT
DECLARE @k INT
SET @k = 0
DECLARE @rtStr NVARCHAr(4000)
SET @str = @str + @sep
SET @i = CHARINDEX(@sep, @str)
WHILE @i > 0
BEGIN
--INSERT INTO @tb
--VALUES ( LEFt(@str, @i - 1) )
IF @k = @index
BEGIN
SET @rtStr = LEFt(@str, @i - 1)
BREAK
END
SET @str = SUBSTRINg(@str, @i + 1, 4000)
SET @i = CHARINDEX(@sep, @str)
SET @k = @k + 1
END
SELECT RTRIm(LTRIm(@rtStr))
GO
你把这一段当成是一个SQL语句,放到程序里面去执行就是了
@str NVARCHAr(4000) ,
@sep NVARCHAr(4000) ,
@index INT
这几个东西用程序里面的string去代替就可以了
语句块也是一条SQL语句!!谢谢
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯