簡體   English   中英

SQL 中跨多個列的 Like 語句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM