MySQL在Sphinx筛选器的查询中将字符串转换为整数

MySQL在Sphinx筛选器的查询中将字符串转换为整数,mysql,filter,sphinx,Mysql,Filter,Sphinx,Sphinx无法对字符串、整数进行筛选 我有一些字段是简单的是和否字符串,我想过滤 可以这样做MySQL查询吗 SELECT integer(FIELD:yes,1;no,2) AS sound FROM my_table; 像这样的?所以不是肯定,而是1,不是否定,而是2 那么我就有一个属性: sql_attr_unit = sound 我可以这样过滤: $c->SetFilter(sound, array(1)); 这看起来对吗?这篇文章似乎需要使用If-Else解决方案:

Sphinx无法对字符串、整数进行筛选

我有一些字段是简单的是和否字符串,我想过滤

可以这样做MySQL查询吗

SELECT integer(FIELD:yes,1;no,2) AS sound FROM my_table;
像这样的?所以不是肯定,而是1,不是否定,而是2

那么我就有一个属性:

 sql_attr_unit = sound
我可以这样过滤:

 $c->SetFilter(sound, array(1)); 

这看起来对吗?

这篇文章似乎需要使用If-Else解决方案:


这似乎是“是”和“否”项的解决方案。

只是一个参考,一个简短的语法:
选择IF(Sound='yes',1,0)作为来自…
@barryhunter的声音。我其实希望你能对此发表评论。它似乎对我不起作用。你能检查我上面的修改,并验证它是否可以工作,这样我至少可以知道它应该工作?谢谢对于一个真实的实例,(搜索“首选”),这是一个伟大的例子@barryhunter。谢谢分享。我认为这将证明是非常有用的。
 SELECT (case when (Sound = 'yes') then 1 else 0 end) AS Sound FROM my_table;