sql - 我很困惑为什么我的查询没有返回正确的项目
问题描述
所以我将此项目添加到我的数据库中
title: green shorts
upc: 999
description: mens polyester blend
brand: lrg
location: row-1
这是我的查询
client.query('SELECT DISTINCT id, title FROM items WHERE fk = $1 AND ( title ILIKE $2 OR description ILIKE $2 OR custom1 ILIKE $2 OR custom2 ILIKE $2 OR sku ILIKE $2) OR (upc = $2) ', [data.fk, data.search], (err, res) => {
如果 data.search 为空白或 '' 则返回绿色短裤,但如果 data.search = 'green' 它不返回任何内容?我的查询有问题吗?
我希望能够搜索“绿色”一词并搜索标题、描述、品牌、upc 或位置中带有绿色一词的任何项目
ILIKE不是正确的术语吗?
解决方案
您需要使用 % 符号来表示通配符。
WHERE title LIKE '%searchTerm%'
将返回包含搜索词的任何内容。
推荐阅读
- tensorflow - 以字母数字代码为特征的 TensorFlow 分类
- ios - 无法在 iOS 13.3.1 中关闭 Google Admob 广告:控制台日志:[Process] kill() 返回意外错误 1
- c - 数据类型和变量之间的关键字
- python - Python中的诅咒模块Eroor
- python - Python 中的单独 print() 结果
- reactjs - 如何防止 useEffect 中的函数被多次触发?
- python - matplotlib 动画,用于在单个图形中同步移动多个形状
- html - CSS初学者,需要帮助定位重叠的DIV
- ruby-on-rails - 删除枚举的默认值
- javascript - 渲染前获取数据 [React Native]