Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL Server VARCHAR列中插入尾随空格_Sql_Sql Server_Tsql_Sql Server 2008_String - Fatal编程技术网

在SQL Server VARCHAR列中插入尾随空格

在SQL Server VARCHAR列中插入尾随空格,sql,sql-server,tsql,sql-server-2008,string,Sql,Sql Server,Tsql,Sql Server 2008,String,我试图在VARCHAR(50)列中插入尾随空格,而sqlinsert似乎将其截断。这是我的密码: create table #temp (field varchar(10)); insert into #temp select ' '; select LEN(field) from #temp; 不幸的是,这返回的长度为零,这意味着“”已作为“”插入。我需要为本专栏插入一个空格-有什么想法吗?请使用,不要,因为LEN不处理空格 以这个零长度字符串为例: SELECT LEN(' ') AS l

我试图在VARCHAR(50)列中插入尾随空格,而sqlinsert似乎将其截断。这是我的密码:

create table #temp (field varchar(10));
insert into #temp select ' ';
select LEN(field) from #temp;
不幸的是,这返回的长度为零,这意味着“”已作为“”插入。我需要为本专栏插入一个空格-有什么想法吗?

请使用,不要,因为LEN不处理空格

以这个零长度字符串为例:

SELECT LEN(' ') AS len, 
       DATALENGTH(' ') AS datalength
结果:

len   datalength
-----------------
0     1
发件人:


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

您最好还知道,SQL Server遵循ANSI/ISO SQL-92对比较中使用的字符串进行填充,以便在比较之前使其长度匹配。因此,您可能希望使用LIKE谓词进行比较[1]

[1]
SQL Server如何将字符串与尾随空格进行比较

LEN将“拖尾”空格解释为零长度字符串:)@Aamod Thakur:零长度字符串没有要拖尾的字符;)@阿莫德·塔库尔:谢谢,这条评论促使我重新写了这条声明,这样它才更有意义。