[英]Like statement across multiple columns in SQL
我正在嘗試跨多個列查詢類似的語句。 我有以下搜索詞:“狗”“貓”“兔子”“沙鼠”“豚鼠”“倉鼠”
我需要在有大約 40 個不同列的“動物”表中搜索這些術語或類似這些術語。 我知道我可以通過做來做類似的聲明
Select * from animals where [animalscolumn] like ('%dog%') or like ('%cat%') or like ('%gerbil%') or like ('%hamster%') or like ('%guinea pig%')
然而,“animalcolumn”並不是我需要運行“LIKE”語句的唯一列。 我必須在大約 40 列中搜索這些術語。 會有人碰巧知道怎么做嗎? 謝謝!
多個like
語句不能與or
直接使用。 您必須為每個like
語句使用column name
。
使用多個 like 如下所述。
Select *
from animals
where
(
[animalscolumn] like ('%dog%') or
[animalscolumn] like ('%cat%') or
[animalscolumn] like ('%gerbil%') or
[animalscolumn] like ('%hamster%') or
[animalscolumn] like ('%guinea pig%')
)
如果要查找一組數字,可以使用 IN
SELECT *
FROM tableName
WHERE columnId IN (154,156,133,157,119)
$sql = "SELECT * from like1 WHERE tutorial_author LIKE '$apply' OR tutorial_title LIKE '$apply'";
if($mode == 'search_contact'){ // $prefix='%';
$apply=$dataObj['search'];
$data = array();
// $sql = "SELECT * from add_contact WHERE tutorial_author OR tutorial_title LIKE '$apply'";
$sql = "SELECT * from add_contact WHERE
first_name LIKE '%$apply%'
OR
last_name LIKE '%$apply%'
OR
title LIKE '%$apply%'
OR
company LIKE '%$apply%'
OR
address LIKE '%$apply%'";
$result = $myConnection->query($sql);
if ($result->num_rows > 0) {
// print_r($result->fetch_assoc());
while($row = $result->fetch_assoc()) {
$row['user_image'] = site_url.upload_dir.$row['image'];
// print_r($row);
$data[]=$row;
}
$array = array('status'=>true, 'message'=> 'contacts fetched successfully', 'data'=> $data);
echo json_encode($array);
exit;
} else {
$array = array('status'=>false, 'message'=> "No contacts available" );
echo json_encode($array);
exit;
}
}
Select * 來自 cscart_users 其中狀態類似於 '%a' 和 user_type 類似於 '%c' 和名字類似於 '%az%';
Select * 來自 cscart_users,其中狀態像 '%a' 和 user_type 像 '%c' 和名字像'%az%';
語法:- select * from tablename where columnname like'%b' and columnname2 like '%g';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.