在 alasql (AngularJS) 的 SQL 语句中使用 "AS" 子句
Using "AS" clause in SQL statement in alasql (AngularJS)
如标题所述,我遇到了一个问题,当我尝试在 angular 模块的 sql 语句中使用 AS 子句时,我收到了一条错误消息 alasql。
将显示以下错误消息:
Error: Parse error on line 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',
'SEMICOLON', 'GO', got 'LITERAL'
我不确定,我做错了什么。
在wiki中,他们也毫无问题地使用了AS子句。
我的angular代码很简单如下图:
vm.btnExport = function () {
alasql('SELECT shortcode AS Short code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
我找到了解决问题的方法。它是 AS 子句后的 space 字符。
只允许定义一个词,不能定义两个。
示例:
vm.btnExport = function () {
alasql('SELECT shortcode AS Short_Code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
大多数(如果不是全部)数据库不允许在 table、列名或别名中使用空格。在 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]);
如标题所述,我遇到了一个问题,当我尝试在 angular 模块的 sql 语句中使用 AS 子句时,我收到了一条错误消息 alasql。
将显示以下错误消息:
Error: Parse error on line 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', 'SEMICOLON', 'GO', got 'LITERAL'
我不确定,我做错了什么。 在wiki中,他们也毫无问题地使用了AS子句。
我的angular代码很简单如下图:
vm.btnExport = function () {
alasql('SELECT shortcode AS Short code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
我找到了解决问题的方法。它是 AS 子句后的 space 字符。
只允许定义一个词,不能定义两个。
示例:
vm.btnExport = function () {
alasql('SELECT shortcode AS Short_Code, fname AS fullname INTO XLSX("test.xlsx",{headers:true}) FROM ?', [vm.list]);
};
大多数(如果不是全部)数据库不允许在 table、列名或别名中使用空格。在 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]);