【问题描述】
执行命令 sdb "db.exec('select substr(pad,1,2) as sss,count(id) as count from sysbench_test.sbtest1 group by substr(pad,1,2)')" 时报错,报错信息如下:
(sdbbp):1 uncaught exception: -195
SQL syntax error
【解决方法】
目前内置SQL语法并不支持此类函数,仅支持聚集相关的函数。内置SQL功能不够全面,一般推荐用SQL引擎(MySQL/PostgreSQL),但是标准SQL语句中对json的操作的支持是比较弱。因此推荐直接用原生的语法去操作。具体参考更新符 $substr: http://doc.sequoiadb.com/cn/i...
【解决方法】
目前内置SQL语法仅支持sum(),count(),avg(),max(),min(),first(),last(),push(),addtoset(),buildobj(),mergearrayset()等函数,不支持substr函数。
由于内置SQL功能不够全面,一般推荐用SQL引擎(MySQL/PostgreSQL),但是标准SQL语句中对json的操作的支持是比较弱。因此推荐直接用原生的语法去操作,原生语法使用$substr命令:db.cs.cl.find({}, {a:{$include:1, $substr:[1,2]}})
具体参考更新符 $substr: http://doc.sequoiadb.com/cn/i...


RaymondRMork
1 声望2 粉丝