• ベストアンサー

union allで空白を残す方法

SQL Serverでunion allを使った時、空白を残す方法はありますでしょうか。 具体的には以下のようなケースです。 select 1 as A union all select '' as A の結果は A 1 0 というように自動的に0が入りますが、0ではなく空白にする方法を探しています。 ご存じの方教えていただけますでしょうか。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • szk9998
  • ベストアンサー率45% (1026/2241)
回答No.1

あなたの言う「空白」とはなんでしょう? NULLでよいのか、長さ0の文字列なのか・・・ RDBの基本中の基本なので学習すべきかと。 1が数値であれば、それにUNIONされるA列も数値型 になります。だから「0」が入るのが当然。 A列を文字列にすれば、''が入力されます。 '1' as A のようにすればいいのですが、当然、文字列なので 計算は出来ません。 もしくは、'' as AをNULL as Aとすれば、NULL値が入ります A列は数値型になりますので、計算は可能です。 (NULLを計算式に使用する際は、ルールがありますので注意) 言っている意味がわからないようでしたら、やはり基礎から 学習すべきかと思います。

shima-008
質問者

お礼

質問に不足があり失礼いたしました。 今回の場合、計算に使う列ではなかったためA列の1を文字列にすることで解決できました。 早々にご回答いただきましてありがとうございました。

関連するQ&A