6

LINQ to SQL を何年も使用していますが、この動作を見たのはこれが初めてです。

varchar(15)空の文字列 ( ) を含む可能性があるいくつかの列 ( ) を持つ DB テーブルがあります''。beを実行LEN(Column)して結果を確認することで、これを確認します0

これを LINQ2SQL から呼び出すと、単一のスペース ( string.Length == 1) を含む文字列を含むオブジェクト フィールドが返されます。

DBでそれらを作成したり、文字列をトリミングしたりするなど、適用できるいくつかの回避策がありますが、NULL以前に誰かがこれに遭遇したかどうか、またはバグが既知であるかどうか (MS Connect で報告されています) を知りたいです。そうでない場合は、報告します。

ありがとう。

4

1 に答える 1

8

問題はLEN関数にあります:

SELECT LEN(' ')

SQL Server では 0 を返します。それは完全なピタです。

しかし

SELECT DATALENGTH(' ')

1 を返します

于 2011-10-21T08:39:43.517 に答える