我遇到了最近出现的 SQL Server 问题。当 select 语句调用一个空字段(没有 NULL 值但内部没有数据)时,它会产生一个“空格”字符。我一直在使用 2 个 2008 R2 SQL Server 进行测试,其中一个有效,一个无效。Windows 没有更新,PHP 版本相同。这只是随机开始。有任何想法吗?
问问题
559 次
1 回答
0
您确实需要查看数据字段中存储的内容。那是第一个开始的地方!
它是否在表定义中定义不为空。
下面的示例设置了一个临时表,最后三个条目看起来像空白。
--
-- Setup sample table
--
-- Sample table
create table #blanks
(
blanks_id int identity (1, 1),
blanks_txt varchar(64)
);
go
-- Add null, space, empty string, hex codes
insert into #blanks (blanks_txt) values (null);
insert into #blanks (blanks_txt) values (space(10));
insert into #blanks (blanks_txt) values ('');
insert into #blanks (blanks_txt) values (char(9));
go
-- Last three entries show as blank
select * from #blanks
使用以下代码段找出该字段中的内容。
-- Code to find out internal data values
select
blanks_id,
datalength(blanks_txt) as size,
cast(blanks_txt as varbinary(64)) as buffer
from #blanks
两个代码执行的输出。
于 2013-10-10T18:58:48.587 回答