SQL语言如何将表内字符串按分割符号分割存储
发布网友
发布时间:2022-04-29 23:20
我来回答
共2个回答
懂视网
时间:2022-04-30 03:41
FUNCTION [dbo].[fun_splitstr](@str VARCHAR(MAX))
RETURNS @temp TABLE(id INT)
AS
BEGIN
DECLARE @ch AS VARCHAR(100)
SET @str+=‘,‘
WHILE(@str<>‘‘)
BEGIN
SET @ch = LEFT(@str,CHARINDEX(‘,‘,@str,1)-1)
IF @ch>0
INSERT @temp VALUES(@ch)
SET @str=STUFF(@str,1,CHARINDEX(‘,‘,@str,1),‘‘)
END
RETURN
END
SQL分割字符串函数
标签:
热心网友
时间:2022-04-30 00:49
用replace函数,将分号或者 @ 符号, 替换为你的其他分隔符。
REPLACE
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。
语法
REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )
参数
''string_replace1''
待搜索的字符串表达式。string_replace1 可以是字符数据或二进制数据。
''string_replace2''
待查找的字符串表达式。string_replace2 可以是字符数据或二进制数据。
''string_replace3''
替换用的字符串表达式。string_replace3 可以是字符数据或二进制数据。
返回类型
如果 string_replace(1、2 或 3)是支持的字符数据类型之一,则返回字符数据。如果 string_replace(1、2 或 3)是支持的 binary 数据类型之一,则返回二进制数据。
示例
下例用 xxx 替换 abcdefghi 中的字符串 cde。
SELECT REPLACE(''abcdefghicde'',''cde'',''xxx'')GO
下面是结果集:
------------abxxxfghixxx(1 row(s) affected)