6

多年来我一直在使用 LINQ to SQL,但这是我第一次看到这种行为。

我有一个包含几列 ( varchar(15)) 的数据库表,其中可能包含空字符串 ( '')。我通过运行LEN(Column)并检查结果来验证这一点0

现在,当我从 LINQ2SQL 调用它时,它会返回带有包含单个空格 ( string.Length == 1) 的字符串的对象字段。

我可以应用一些解决方法,比如NULL在数据库上制作它们或修剪字符串,但我想知道之前是否有人遇到过这个问题,或者这个错误是否已知(在 MS Connect 上报告)。如果没有,我会报告它。

谢谢。

4

1 回答 1

8

问题在于LEN功能:

SELECT LEN(' ')

在 SQL Server 中返回 0;这是一个完整的 PITA。

SELECT DATALENGTH(' ')

返回 1

于 2011-10-21T08:39:43.517 回答