Sqlite是否有一种方法(我在这里使用spellfix模块,但这个问题很普遍)具有:
SELECT word FROM myindextable WHERE word MATCH "hsqfkjsfq" AND top=1
返回匹配的单词(如果存在),并返回原始单词(如果不存在)“ hsqfkjsfq”?
答案 0 :(得分:1)
如果您只期望一行,则可以使用聚合:
SELECT COALESCE(MAX(word), 'hsqfkjsfq')
FROM myindextable
WHERE word MATCH 'hsqfkjsfq' AND top = 1;
我认为您的病情过于简单。没有通配符,则等效于:
select 'hsqfkjsfq';
答案 1 :(得分:1)
如果您从不希望从原始查询返回多行,则可以使用compound query添加另一行,如果找不到匹配项,则为第一行:
SELECT word FROM myindextable WHERE word MATCH 'hsqfkjsfq' AND top=1
UNION ALL
SELECT 'hsqfkjsfq'
LIMIT 1;