Sql server SQL Server查询-使用空格按钮插入@space

Sql server SQL Server查询-使用空格按钮插入@space,sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,我目前正在使用参数执行一个存储过程,通过键入空格(如下所示)并使用复制格式插入数据以生成结果 declare @space varchar(200) select @space = replicate(' ',200) select Len(@C) 不幸的是,执行查询时结果是0 @space ------- 0 但是键入a而不是空格是可行的,因为@space的len有200个 有没有办法通过使用空格作为数据来将@spacelen设置为200 @space ------ 200 看看 从 返

我目前正在使用参数执行一个存储过程,通过键入空格(如下所示)并使用复制格式插入数据以生成结果

declare @space varchar(200)
select @space = replicate(' ',200)
select Len(@C)
不幸的是,执行查询时结果是0

@space
-------
0
但是键入a而不是空格是可行的,因为@space的len有200个

有没有办法通过使用空格作为数据来将
@space
len设置为200

@space
------
200
看看

返回指定字符串表达式的字符数, 不包括尾随空格

试试这个-

DECLARE @space VARCHAR(200)
SELECT @space = REPLICATE(' ', 200)
SELECT LEN(@space + '_') - 1
SELECT DATALENGTH(@space)

我将总结数据长度和LEN的不同,LEN将不计算空间数据,当数据的末尾是空的时候,结果将是0,中间的数据有空间。它将把数据计算在内。至于DATALENGTH,它将计算您输入的键的类型,即使它在数据的末尾有空格
DECLARE @space VARCHAR(200)
SELECT @space = REPLICATE(' ', 200)
SELECT LEN(@space + '_') - 1
SELECT DATALENGTH(@space)