不是用exec(),是用eval() eval(<select count(*) from table where d == 2023.10.10>)
回答于 2023-11-17 09:10
可以用字符串拼接的方式实现用sql()函数生成,sql — DolphinDB 2.0 documentation n=100;t=table(2020.01.01 + 0..(n-1) as timestamp, rand(`IBM`MS`APPL`AMZN,n) as symbol, rand(10.0, n) as value)d = 2020.01.01sql(sqlCol("*"), t, <timestamp=d>).eval()
回答于 2023-11-17 09:09
不带参数执行的是一个function,带参数的执行的是一个script,所以写法不一样,这个是内部DBConnection的逻辑不一样导致的
回答于 2023-11-16 17:44
1.DB_OWNER或者DB_MANAGE,具体权限管理可以参看用户权限管理 — DolphinDB 2.0 documentation 2.运行getAllDBs()可以看到own 的database是哪些 3.可以用getUserAccess([userIds])来查看完整的权限列表
回答于 2023-11-16 14:35
demo如下: select * from unionAll(t1,t2) where isDuplicated([time,code,val1],NONE)=false 填入相比较的字段,输出结果是两表比较字段有差异的数据的并集
回答于 2023-11-13 09:18
这个问题可以两个引擎级联解决。第一个聚合引擎,根据index分组,sum(val);第二个状态引擎,metric中msum(val, 2)其实就是与前值求和。
回答于 2023-11-13 09:13
报错的意思是分区列与3号参数冲突了,看代码是调用createPartitionedTable时括号内第一个参数db多余了,最后一行代码改成如下: pt = db.createPartitionedTable(t, 'testtable1', partitionColumns='day_date', sortColumns=`symbol`day_date`hms_value`cond)
回答于 2023-11-13 08:56
可以参考改写看看 t1= table(1 2 3 3 as id, 7.8 4.6 5.1 NULL as val1, 7.8 4.6 5.1 NULL as val2);t1[each(x->all(isValid(x.values())), t1.col(1:))]
回答于 2023-11-13 08:51