2017-02-23 11 views
-1

(NULL値を含む)から、たぶん私は愚かだ、多分私は盲目だけど、私は、MySQLのいくつかの側面に対処しようとしただけスウィフト開発者です。MySQLのSELECT *

私はいくつかの列を持つ単純なテーブルを持っている:

id INT NOT NULL 
name VARCHAR NOT NULL 
age INT ALLOW NULL 
domain VARCHAR NOT NULL 

だから、唯一の列「年齢」のNULLかもしれません。 SELECT *を行うと、「年齢」の値に応じて(id, name, domain)または(id, name, age, domain)が届きます。

どのように私は年齢がNULLであっても、行内のすべての4列を得ることができますか?だから、(453, John, NULL, johnDoe)または(453, John, 37, johnDoe)のようなものかもしれません。 MySQLサーバにアクセスするには

、私はスウィフトパーフェクトのネイティブMySQLのフレームワークを使用します。

EDIT: も私のテーブルには、これらの列を持ってみましょう:

randomValue1 INT ALLOW NULL 
randomValue2 INT NOT NULL 
randomValue3 INT ALLOW NULL 

をだから私は、データをフェッチする場合はなめらかが設定されていない場合、それは7つの値(すべてが設定されている場合)または6つの値であってもよいので、どのように何が設定されていて、何がないかを知るでしょうか?

+0

あなたがTABLENAME'からクエリ – RiggsFolly

+0

'SELECT ID、名前、年齢、ドメインを作るために使用したコードを見ることが有用であろう。 正常です。 –

+0

Select *は、年齢がnullの行を含む4つの列すべてを表示します。値が存在しない場合、文字列NULLを取得することを意味しますか?もしそうなら、なぜですか?これを行うなら、すべての行の年齢を文字列に変換します。 – GurV

答えて

1

デフォルト値を持つことがOKであれば、-1言う(または0または何でも)、あなたはその値の代わりに、ヌルを取得するためにcoalesce(age, -1)を使用することができます。

select id, name, coalesce(age, -1) age, domain from t; 

-1年齢はアプリケーションで正しく処理されます。

+0

COOLであれば、私が受け取る値のようです - どの--に-ME-に被-非常に-シンプル-SQLクエリ –

0

あなたはすべての4つの列の結果を取得するための単純なクエリを使用することができます。 「年齢」列に値が含まれていない場合は、「null」が戻されます。そうでない場合は、すべての列の値が出力されます。

SELECT id, name, age, domain FROM TABLE_NAME; 
+0

アレイは3の数を持っています!それは動作します、ありがとう! –