2013-02-22 51 views
2
DECLARE @Text1 varchar(10) = ' ltrim' 
DECLARE @Text2 varchar(10) = 'rtrim ' 
DECLARE @Text3 varchar(10) = ' ltrimrtrim ' 

INSERT INTO TABLE 
VALUES (LTRIM(RTRIM(@text1)), LTRIM(RTRIM(@text2)), LTRIM(RTRIM(@text3)))` 

我得到一个红色波浪线以下TRIM T-SQL参数

"LTRIM(RTRIM(@text1))" 

部分(工具提示消息:LTRIM FX要求1个参数)。

我在做什么错?请提供建议。

谢谢

+1

可以请你说明你正试图插入到表的结构? – 2013-02-22 22:59:01

+1

将鼠标悬停在红色波浪线上。工具提示是什么意思?你是否区分大小写?如果是这样,它会抱怨'@ Text1' <>'@ text1' – 2013-02-22 22:59:27

+0

编辑了初始评论。我会尝试bluefeet的sln。谢谢你的回复。 – 007 2013-02-22 23:02:12

回答

2

你有table称为table?如果是这样,那么请尝试围绕表名[table]的方括号,因为表是保留字。

下面

您代码工作:

DECLARE @Text1 varchar(10) = ' ltrim' 
DECLARE @Text2 varchar(10) = 'rtrim ' 
DECLARE @Text3 varchar(20) = ' ltrimrtrim ' 

select LTRIM(RTRIM(@text1)) col1, 
    LTRIM(RTRIM(@text2)) col2, 
    LTRIM(RTRIM(@text3)) col3 
into #temp 

select * 
from #temp 

SQL Fiddle with Demo

+0

感谢bluefeed为您的代码。原来我错过了括号。嘿嘿只是好奇,是否有任何表现差异b/w我张贴和你张贴什么?谢谢(也是那个网站很酷)。 – 007 2013-02-22 23:11:30

+1

不,没有区别。我的理由是将数据加载到临时表中。 :) – Taryn 2013-02-22 23:12:55

+0

啊,好的,谢谢。 – 007 2013-02-22 23:17:00