对整数使用LIKE

时间:2019-02-25 13:02:21

标签: php sql integer sql-like

我正在尝试对存储为INTEGER的NumberID进行GetHour()搜索。我可以轻松地编辑用于搜索varchar的代码也可以搜索整数吗?

LIKE

search_term来自一个PHP框,用户可用来输入要搜索的信息。理想情况下,我想避免此时从整数更改数据库。

2 个答案:

答案 0 :(得分:0)

您当前的代码实际上应该按原样工作,尽管从技术上来讲,您应该在构建LIKE表达式之前首先将整数转换为文本:

WHERE NumberID LIKE CONCAT('%', CAST(? AS CHAR(50)), '%')

然后将?绑定到$search_term占位符。

答案 1 :(得分:0)

这可以完成工作:

$sql .=<<<AZE
where convert(NumberID, char(20)) like '%{$search_term}%'
AZE;

技巧是将NumberID转换为字符串。将'like'的右侧强制转换为字符串是无稽之谈。