我在使用bq命令行工具运行包含>的查询时遇到问题或者<符号。
下面的前两个示例显示,当我尝试从表格中选择行,其中id> 300没有返回,但当我选择id = 301时,我得到一个结果。
后两个例子显示当我尝试选择id <&lt;的行时300我收到语法错误,但是当我选择id = 299时,我得到一个结果。
有谁知道为什么会发生这种情况以及如何解决这个问题?
非常感谢,
史蒂夫
C:\ Users \ stephen.caruana&gt; bq query&#34;从test.test_1中选择sk_id WHERE id&gt; 300 LIMIT 5&#34; 等待bqjob_r56794831_000001585450df31_1 ...(0s)当前状态:DONE
C:\ Users \ stephen.caruana&gt; bq query&#34;从test.test_1中选择sk_id WHERE id = 301 LIMIT 5&#34; 等待bqjob_r03e25be0_0000015854521a94_1 ...(3s)当前状态:DONE + ------- + | sk_id | + ------- + | 301 | + ------- +
C:\ Users \ stephen.caruana&gt; bq query&#34;从test.test_1中选择sk_id WHERE id&lt; 300 LIMIT 5&#34; 等待bqjob_r1615cc38_000001585451837a_1 ...(0s)当前状态:DONE 查询字符串出错:处理作业时出错 &#39; itg-creator-lgi-ecrm:bqjob_r1615cc38_000001585451837a_1&#39;:WHERE子句不是 布尔表达式(找到int64)
C:\ Users \ stephen.caruana&gt; bq query&#34;从test.test_1中选择sk_id WHERE id = 299 LIMIT 5&#34; 等待bqjob_r7e6824a9_000001585452ba30_1 ...(2s)当前状态:DONE + ------- + | sk_id | + ------- + | 299 | + ------- +
答案 0 :(得分:0)
这是Windows命令提示符问题。你需要逃避“&gt;”和“&lt;”带有“^”的符号,否则命令提示符认为它是输出的重定向。所以你的命令看起来应该是
bq query "SELECT sk_id from test.test_1 WHERE id ^> 300 LIMIT 5"