2015-12-28 23 views
1

我无法搞清楚如何在SQLite中使用带参数的通配符。如何在SQLite参数中使用通配符?

这里是我试图让工作代码:

@GamePara='Desert'; 
SELECT 
    GameName 
FROM Games 
WHERE GameName LIKE '%' + @GamePara + '%'; 

此代码返回任何结果。它应该返回包含字符串'Desert'GameName中的所有字段。

如果我直接用所需的值替换参数,如下所示,我可以得到所需的结果。

SELECT 
    GameName 
FROM Games 
WHERE GameName LIKE '%Desert%'; 

我已经没有一般的SQL参数太多的经验,所以我的问题可能与SQL的其他版本的存在以及它的可能。

MODERATOR编辑: 注:得到正确答案后删除问题是很不好的习惯。

用户编辑:对不起,我没有看到这个问题已被回答,当我删除它(我没有刷新页面)。我删除了这个问题,因为我意识到我提出了错误的问题。我遇到的问题是我无法像MySQL中那样设置参数。 (@GamePara='Desert';返回消息Error: near "@GamePara": syntax error)。我试过了||串联,但参数设置是问题。

回答

0

使用||字符串连接:

的||运算符是“连接”的 - 它将其操作数的两个字符串 连接在一起。

@GamePara='Desert'; 
SELECT 
    GameName 
FROM Games 
WHERE GameName LIKE '%' || @GamePara || '%'; 

比较:

SELECT 'a' + 'b', 'a' || 'b' 
-- 0 vs ab