- ベストアンサー
union allで空白を残す方法
SQL Serverでunion allを使った時、空白を残す方法はありますでしょうか。 具体的には以下のようなケースです。 select 1 as A union all select '' as A の結果は A 1 0 というように自動的に0が入りますが、0ではなく空白にする方法を探しています。 ご存じの方教えていただけますでしょうか。 宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
あなたの言う「空白」とはなんでしょう? NULLでよいのか、長さ0の文字列なのか・・・ RDBの基本中の基本なので学習すべきかと。 1が数値であれば、それにUNIONされるA列も数値型 になります。だから「0」が入るのが当然。 A列を文字列にすれば、''が入力されます。 '1' as A のようにすればいいのですが、当然、文字列なので 計算は出来ません。 もしくは、'' as AをNULL as Aとすれば、NULL値が入ります A列は数値型になりますので、計算は可能です。 (NULLを計算式に使用する際は、ルールがありますので注意) 言っている意味がわからないようでしたら、やはり基礎から 学習すべきかと思います。
お礼
質問に不足があり失礼いたしました。 今回の場合、計算に使う列ではなかったためA列の1を文字列にすることで解決できました。 早々にご回答いただきましてありがとうございました。