解决方式如下:

1.去除左边空格   LTRIM()

2.去除右边空格   RTRIM()

3.去除回车符    REPLACE(@str, CHAR(13) , '') 

4.去除换行符     REPLACE(@str, CHAR(10), '') 

5.去除回车换行符    REPLACE(@str, CHAR(13) + CHAR(10), '')

6.替换空格   REPLACE(@str,' ','')

实例如下:

-- 定义字符串str
DECLARE @str nvarchar(100) ='" 100001",
" 10002 ","10003","10004 "'
DECLARE @sql varchar(max)
-- 替换字符串中的空格等特殊字符
SET @str=REPLACE(REPLACE(REPLACE(LTRIM(RTRIM(@str)),'"',''),' ',''),CHAR(13) + CHAR(10), '')

-- 将字符串拆分成列
set @sql='select col='''+ replace(LTRIM(RTRIM(@str)),',',''' union all select ''')+''''
PRINT @sql
exec (@sql)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐