web-dev-qa-db-ja.com

SQL:ColumnNameが意味するNULLとは

エイリアスの作成にASが使用されていることを理解しています。したがって、1つの長い名前を短い名前としてエイリアス化することは理にかなっています。ただし、SQLクエリNULL as ColumnNameが表示されます。これはどういう意味ですか?

SELECT *, NULL as aColumn
11
Shamim Hafiz

エイリアシングは、長い列名を短くするだけでなく、さまざまな方法で使用できます。

この場合、あなたの例は、常にNULLを含む列を返し、そのエイリアス/列名はaColumnであることを意味します。

エイリアシングは、Column1 + Column2 AS Column3などの計算値を使用している場合にも使用できます。

だということだ "aColumn"にはNull値のみがあります。この列は後で実際の値で更新できますが、選択すると空の列になります。

--- SSISについて知っているかどうかはわかりませんが、このメカニズムはSSISで「空の」列に変数値を追加するのに役立ちます。

1
Echo

As SELECT ID、Name、 'None' AS Hobbies、0 AS NumberOfPets、NULLPictureを使用せずにどうですか

0
user4633769

ステートメントの結果には、すべてNULL値を持つ列があります。エイリアスを使用してその列を参照できます。

あなたの場合、クエリはテーブルからすべてのレコードを選択し、各結果レコードにはNULL値のみを含む追加の列があります。将来、この結果セットと他の場所の追加の列を参照する場合は、エイリアスを使用する必要があります。

0
sgnsajgon

通常、すべて選択の最後に[列]名としてNULLを追加することは、選択したばかりのテーブルに基づいて計算された列を別のテーブルに挿入するときに使用されます。

UPDATE #TempTable SET aColumn = Column1 + Column2 WHERE ...

次に、結果を別のテーブルにエクスポートまたは保存します。

0
A. Greensmith

'Null AS [ColumnA]を使用してデータセットを結合または結合する場合、後で更新できる完全なデータセットを作成する簡単な方法であり、ソーステーブルに新しい列を作成する必要はありません。

0
Jessie

SELECTを使用する場合、値を列に直接渡すことができます。だから次のようなもの:

SELECT ID, Name, 'None' AS Hobbies, 0 AS NumberOfPets, NULL AS Picture, '' AS Adress

有効です。

UNION/UNION ALLを使用する場合、クエリ出力を適切にフォーマットするために使用できます。

0
Nono

クエリ結果には、すべてNULL値を持つ新しい列を含めることができます。 SQL Serverでは、次のように実行できます

SELECT *, CAST(NULL AS <data-type>) AS as aColumn

例えば.

SELECT *, CAST(NULL AS BIGINT) AS as aColumn
0
Waseem Akhtar