正如标题所描述的那样,我遇到了问题,一旦我尝试在角度模块alasql的sql语句中使用AS子句,我就会收到错误消息。
将显示以下错误消息:
错误:第1行的解析错误:... shortcode AS短代码,fname AS全名 ----------------------- ^期待' EOF',' WITH',' COMMA&#39 ;,' RPAR',' PIVOT',' UNPIVOT','删除','订购',' ;',' UNION',' INTERSECT', '除了'来自',' INTO',' GROUP',' LIMIT',' OFFSET& #39;,' END',' ELSE', ' SEMICOLON',' 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]);
};
答案 0 :(得分:1)
大多数(如果不是所有)数据库都不允许表,列名或别名中的空格。在Alasql中使用方括号[]
。因此,对于您的情况,您可以将Short Code
重命名为Short_Code
,或者您可以使用[Short Code]
。但是...在Alasql中有很多关键字。为了安全起见,我在所有不是关键字的地方放置方括号。
alasql('SELECT [shortcode] AS [Short code], [fname] AS [fullname] INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
答案 1 :(得分:0)
我找到了解决问题的方法。这是AS子句之后的空格字符。
它只允许定义一个单词而不是两个单词。
示例:
vm.btnExport = function () {
alasql('SELECT shortcode AS Short_Code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};