我有一个JSON字符串,看起来像这样:
{"mo":[{"from":800,"to":1100},{"from":1400,"to":1700}],"di":[{"from":800,"to":1100},{"from":1400,"to":1700}],"do":[{"from":800,"to":1100},{"from":1400,"to":1700}],"mi":[{"from":800,"to":1100}],"fr":[{"from":800,"to":1300}],"so":[],"sa":[]}
包含此JSON字符串MySQL的字段声明为在配置qazxsw POI。
下面sql_attr_json
条件正常工作:
WHERE
但是,下列情况不:
WHERE json.mo[0].from < 1100
其结果是:
WHERE json.mo[0].from < json.mo[0].to
这是为什么?我想实现的开放时间,但不幸的是,我有一个很艰难的时间做这样的检查,我尝试了不同的方法一打似乎没有任何工作。
更新:
我也试图做的:
sphinxql: syntax error, unexpected IDENT near 'json.mo[0].to
导致
WHERE (DATE_FORMAT(NOW(),'%H%i') between json.mo[0].from and json.mo[0].to)
即使是基本
sphinxql: syntax error, unexpected '(' near '(NOW(),'%H%i')) between json.mo[0].from and json.mo[0].to)
结果到了同样的错误
SELECT DATE_FORMAT(NOW(),'%H%i') < 1050
作为一种变通方法我也试过
Sphinx expr: syntax error, unexpected '(', expecting $end near '(NOW(),'%H%i') < 1050'
但导致
SELECT CONCAT(HOUR(NOW()), MINUTE(NOW())) currentTime;
在MySQL中它工作得很好
只是还没有实现。请尝试以下解决方法:
sphinxql: syntax error, unexpected $end, expecting FROM or ',' near 'currentTime'
对我来说工作正常曼提搜索(狮身人面像的叉),应在狮身人面像工作也没关系。