SELECT 字符串表达式识别单引号而不是双引号?
SELECT string expression recognizes single not double quotes?
我正在创建一个 Azure 流分析查询,我需要输出一个常量列 header/value,我注意到如果我将字符串表达式作为 SELECT
项包含,它需要用单引号 (') 而不是双引号 (") 括起来,否则我会得到 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.
为什么字符串文字需要单引号?如果我使用双引号,它会将文字解释为什么?
谢谢
-约翰
根据我的测试,单引号(')和双引号(")都可以得到结果。
我的测试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}
结果如下:
如果对 select 值使用单引号,结果将是单引号的值。查询不会将该值作为列名去select结果:
像这样:
但是如果对select值使用双引号,查询会把它当作列名。所以你会得到空结果。因为查询无法 select 数据。
我正在创建一个 Azure 流分析查询,我需要输出一个常量列 header/value,我注意到如果我将字符串表达式作为 SELECT
项包含,它需要用单引号 (') 而不是双引号 (") 括起来,否则我会得到 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.
为什么字符串文字需要单引号?如果我使用双引号,它会将文字解释为什么?
谢谢
-约翰
根据我的测试,单引号(')和双引号(")都可以得到结果。
我的测试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}
结果如下:
如果对 select 值使用单引号,结果将是单引号的值。查询不会将该值作为列名去select结果:
像这样:
但是如果对select值使用双引号,查询会把它当作列名。所以你会得到空结果。因为查询无法 select 数据。