2017-09-16 31 views
1

我創建一個天青流分析查詢和我需要輸出恆定列標題/值,我注意到,如果我包括串表達式作爲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

由於白蘭度,但我一直在尋找的是在結果中返回一個文本值。在你上面的例子,有你的選擇讀取選擇「富」爲「uarr」,我本來期望看到「富」作爲UARR列標題下的值。換句話說,這與輸入數據無關。我想在結果集中放置一個不是來自數據的硬編碼值。根據您的測試,它看起來像如果文字是雙引號括起來,它被解釋爲一個屬性名稱。通過我的測試,如果它被包含在單引號中,它將被用作字面值。 – JohnKoz

+0

查看我的更新回答。您可以使用單個配額在結果中返回文字值。 –

+0

感謝白蘭度。您確認了我對單引號的測試,但也添加了雙引號的行爲。我會記住這作爲一個答案,但我肯定想看到這是記錄,如果有任何人知道。我想依靠我知道的實際意圖的行爲! – JohnKoz

相關問題