4

我目前正在使用参数执行存储过程,当我通过键入如下所示的空间以复制格式插入数据以生成结果时。

declare @space varchar(200)
select @space = replicate(' ',200)
select Len(@C)

不幸的是,执行查询时结果为 0

@space
-------
0

但是输入 a 而不是空格是工作,因为 @space 的 len 有 200。

有什么想法如何@space通过使用空间作为数据将 len 设置为 200?

@space
------
200
4

2 回答 2

3

看看DATALENGTH (Transact-SQL)

declare @space varchar(200)
select @space = replicate(' ',200)
select Len(@space),DATALENGTH(@space)

SQL 小提琴演示

LEN (Transact-SQL)

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

于 2013-05-22T08:41:59.997 回答
1

试试这个——

DECLARE @space VARCHAR(200)
SELECT @space = REPLICATE(' ', 200)
SELECT LEN(@space + '_') - 1
SELECT DATALENGTH(@space)
于 2013-05-22T08:44:20.837 回答