我有一个带有值的字符串:
@value = 'e65.89,f34.yy,sw21.67,aqw21,g45.g4'
我需要将此字符串作为单独的行插入到临时表中。
喜欢:
VALUES
e65.89
f34.yy
sw21.67
aqw21
g45.g4
我尝试了这段代码,它适用于整数值,但是当给定浮点数或 varchar 值时,它会显示错误:
法典:
CREATE TABLE #Temp (SNo INT IDENTITY(1,1),Code VARCHAR(max))
Declare @value varchar(max)
set @value = 'e65.89,f34.yy,sw21.67,aqw21,g45.g4'
DECLARE @InsertStatement varchar(max) = 'insert into #Temp values ('+REPLACE(@value ,',','),(')+');';
EXEC (@InsertStatement);
SELECT * FROM #Temp;
错误:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'e'.
尝试用''
(单引号(包装要插入的值
CREATE TABLE #Temp (SNo INT IDENTITY(1,1),Code VARCHAR(max))
Declare @value varchar(max)
set @value = 'e65.89,f34.yy,sw21.67,aqw21,g45.g4'
DECLARE @InsertStatement varchar(max) = 'insert into #Temp values (''' +
REPLACE(@value ,',','''),(''')+ '''' + ');';
EXEC (@InsertStatement);
SELECT * FROM #Temp;