2017-09-16 5 views
1

私はAzure Stream Analyticsクエリを作成していますが、定数カラムのヘッダーと値を出力する必要がありました。文字列式をSELECTアイテムとして含めると、単一の( ')で囲まれている必要があります引用符( ")、そうでない場合、私はNULLを取得する。SELECT文字列式は二重引用符ではなく単一文字を認識しますか?

SELECT 'foo' as "bar" INTO ... FROM ... >>> outputs foo as a value of bar. 
SELECT "foo" as "bar" INTO ... FROM ... >>> outputs null as a value of bar. 

単一引用符を文字列リテラルが必要ですか?そして、私は二重引用符を使用する場合、どのようなそれはリテラルとして?

おかげ

を解釈しているのはなぜ

-John

答えて

0

私のテストに基づいて、シングル( ')とダブル( ")の両方の引用符が結果を得ることができました。

次のように私のテストJSON:

{"plantId": "Plant A", "machineId" : "M001", "sensorId": "S001", "unit": "kg", "time": "2017-09-05T22:00:14.9410000Z", "value": 1234.56} 

{"plantId": "Plant A", "machineId" : "M001", "sensorId": "S001", "unit": "kg", "time": "2017-09-05T22:00:19.5410000Z", "value": 1334.76} 

結果以下のように:

enter image description here


あなたが値を選択するために、単一引用符を使用する場合、結果はシングルになります見積もりの​​価値。このよう

:クエリが結果を選択するために、列名としての価値を考えていないだろう

enter image description here

しかし、あなたは値を選択するために、二重引用符を使用する場合、クエリの意志はとしてそれをみなし列名。だからあなたはヌルの結果を得るでしょう。クエリがデータを選択できなかったためです。

enter image description here

+0

おかげブランドが、私は探していたものが結果に返されるリテラル値でした。上の例では、選択した "foo"を "uarr"と読み替えると、UARR列の見出しの下の値として "foo"が表示されます。言い換えると、これは入ってくるデータに関係なくです。私は、データから来ていない結果セットにハードコードされた値を配置したい。あなたのテストに基づいて、リテラルが二重引用符で囲まれているように見えますが、それはプロパティ名として解釈されます。私のテストでは、一重引用符で囲まれていると、リテラル値として使用されます。 – JohnKoz

+0

私の更新の回答を参照してください。単一のクォータを使用して結果にリテラル値を返すことができます。 –

+0

Brandoに感謝します。一重引用符に関する私のテストを確認しましたが、二重引用符の動作も追加しました。私はこれを答えとしてマークしますが、そこに誰かが知っている場合には、これがどこに文書化されているか確かめたいと思います。私は実際に意図されていることを知っている行動に頼りたいのです! – JohnKoz

関連する問題