0
declare @period_len int = 1
SELECT 'lalalalala' + CONVERT(varchar, @period_len) + 'lalalalala'

出力:lalalalala1lalalalala

declare @period_len int = null
SELECT 'lalalalala' + CONVERT(varchar, @period_len) + 'lalalalala'

出力:NULL

後者はlalalalalaNULLlalalalalaまたはlalalalalalalalalalaであるべきではありませんか?

4

4 に答える 4

2

nullSQLでは特別です。に何かを追加または連結するnullと、結果はになりnullます。

出力でNULLは、は文字列ではありません'NULL'。これは、クライアントののテキスト表現ですnull

于 2013-02-25T12:36:33.307 に答える
2

Nullはテキストとしてプリットされません。あなたがそうしたいのなら。NULLがある場合は、それを実行する必要があります。

declare @period_len int = null
SELECT 'lalalalala' + Isnull(CONVERT(varchar, @period_len),'NULL') + 'lalalalala'
于 2013-02-25T12:38:14.163 に答える
0

SQL Serverの場合、nullと連結された文字列はnullを生成します。

これはSQLServer2005で構成可能でしたが、構成オプションはSQLServer2008で削除されました。

于 2013-02-25T12:38:13.413 に答える
0

出力に本当にnullが必要な場合は、これを実行します

declare @period_len varchar(4) 
set @period_len='null'
SELECT 'lalalalala' +  @period_len + 'lalalalala'

不明を示すSQL特殊キーワードNULLではなく、文字列としてnullを使用します

于 2013-02-25T12:40:06.350 に答える