这是我的脚本,其中分别使用
sqlCol
和 sqlColAlias
:
code=`000905
sql((sqlCol(`date),sqlCol(code,ratios, `ret)),table ).eval()
sql((sqlCol(`date),sqlColAlias(<ratios(code)>,`ret)),table).eval()
sqlCol(code,ratios,`ret)
和
sqlColAlias(<ratios(code)>,`ret)
预计会达到相同的结果。但后一个会引发以下错误:
Server response: '::evaluate(sql((sqlCol("date"), sqlColAlias(< ratios(code) >, "ret")), table)) => Usage: ratios(X). X can't be string or symbol type.'
为什么会发生这种情况?这两个功能有什么区别?
sql((sqlCol(`date),sqlCol(code,ratios, `ret)),table ).eval()
在 sqlCol(code,ratios,`ret) 中,code 是表示表中列 00905 的列变量。因此,该表达式计算列 00905 的比率。
sql((sqlCol(`date),sqlColAlias(<ratios(code)>,`ret)),table).eval()
在 sqlColAlias(