SELECT строковое выражение распознает одинарные, а не двойные кавычки?
Я создаю запрос Azure Stream Analytics, и мне нужно было вывести постоянный заголовок / значение столбца, и я заметил, что если я включу строковое выражение в виде SELECT
item, он должен быть заключен в одинарные ('), а не в двойные (") кавычки, в противном случае я получаю NULL.
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
1 ответ
Исходя из моего теста, как одинарные ('), так и двойные (") кавычки могут получить результат.
Мой тест 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}
Результат как ниже:
Если для выбора значения используется одинарная кавычка, результатом будет значение одинарной кавычки. Запрос не будет рассматривать значение как имя столбца для выбора результата:
Как это:
Но если вы используете двойную кавычку для выбора значения, запрос будет рассматривать его как имя столбца. Таким образом, вы получите нулевой результат. Потому что запрос не может выбрать данные.