0

SQL Serverで、奇妙な動作が見られます。

select col1+ ' ' + cast(col2 as varchar(10)) as concat_col

値=NULL(空白の列ではない)の列が返されます。

私の疑いは、col2の値がNULL(空白の列ではない)であるためです。では、この動作の理由は何ですか?しかし、もっと重要なのは、空白の列ではなく、値=NULLの列の意味は何でしょうか。誰かがテーブルにアクセスして、値=NULLですべての列を更新したとは思いません。

4

2 に答える 2

1

NULLは、フィールドに値がないことを意味します。ISNULL関数を使用して、null値を必要なものに変換できます。以下は、正しい結果が得られることを願っています(nullは得られません)。

select ISNULL(col1,'')+ ' ' + cast(ISNULL(col2,'') as varchar(10)) as concat_col
于 2012-08-29T23:32:33.187 に答える
0

ブランクは値ですが、ヌルは完全に何もありません。

ゼロは数字であり、ヌルは何もないと考えてください。

于 2012-08-29T23:34:37.820 に答える