我正在尝试对存储为INTEGER的NumberID进行GetHour()
搜索。我可以轻松地编辑用于搜索varchar的代码也可以搜索整数吗?
LIKE
search_term来自一个PHP框,用户可用来输入要搜索的信息。理想情况下,我想避免此时从整数更改数据库。
答案 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'的右侧强制转换为字符串是无稽之谈。