0

正如标题所描述的,我有一个问题,即当我尝试在角度模块alasql的 sql 语句中使用 AS 子句时,我会收到一条错误消息。

将显示以下错误消息:

错误:第 1 行的解析错误:... shortcode AS Short code, fname AS fullname ------------------------------------^ Expecting 'EOF', 'WITH ', 'COMMA', 'RPAR', 'PIVOT', 'UNPIVOT', 'REMOVE', 'ORDER', 'WHERE', 'UNION', 'INTERSECT', 'EXCEPT', 'FROM', 'INTO', 'GROUP', 'LIMIT', 'OFFSET', 'END', 'ELSE', '分号', 'GO', 得到 'LITERAL'

我不确定,我做错了什么。在 wiki 中,他们也毫无问题地使用了 AS 子句。

我的角度代码非常简单,如下所示:

vm.btnExport = function () {
   alasql('SELECT shortcode AS Short code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
4

2 回答 2

1

大多数(如果不是全部)数据库不允许在表、列名或别名中使用空格。在 Alasql 中使用方括号[]。因此,对于您的情况,您可以重命名Short CodeShort_Code,也可以使用[Short Code]. 但是...在 Alasql 中有很多关键字。所以为了安全起见,我把方括号括在所有不是关键字的地方。

alasql('SELECT [shortcode] AS [Short code], [fname] AS [fullname] INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
于 2016-04-18T17:13:17.923 回答
0

我找到了解决我的问题的方法。它是 AS 子句之后的空格字符。

只允许定义一个词而不是两个词。

例子:

vm.btnExport = function () {
   alasql('SELECT shortcode AS Short_Code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
于 2016-04-04T12:57:55.203 回答