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}

Результат как ниже:


Если для выбора значения используется одинарная кавычка, результатом будет значение одинарной кавычки. Запрос не будет рассматривать значение как имя столбца для выбора результата:

Как это:

Но если вы используете двойную кавычку для выбора значения, запрос будет рассматривать его как имя столбца. Таким образом, вы получите нулевой результат. Потому что запрос не может выбрать данные.

Другие вопросы по тегам