用于检查特定数据数组中是否存在数据的SQL查询

时间:2016-12-01 09:39:49

标签: mysql sql

我的表格结构如下所示

id,姓名,电话



<table>
  <thead>
    <tr>
      <th>Id</th>
      <th>Name</th>
      <th>Phone numbers</th>
      
    </tr>
  </thead>
  <tbody>
      <tr>
        <td>1</td> 
        <td>Peter</td> 
        <td>1736736,67358467,553463563</td> 
      </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;

所以彼得在电话栏中用逗号分隔了3个数字

因此,当特定号码呼叫时,我想检查它是否存在于列电话中。像

这样的东西

如果列电话中存在67358467。问题是此列中的值以逗号分隔。

那么我要使用什么SQL查询?

3 个答案:

答案 0 :(得分:4)

MySQL中有一个名为FIND_IN_SET的字符串函数,它可以帮助您在集合中找到一个数字。

示例...

SELECT * FROM tablename WHERE FIND_IN_SET(1736736,numbers)

答案 1 :(得分:1)

问题是如何定义表。单个属性不应包含多个数据。考虑使用表来加入ID和数字。所以,你将有一个表映射ID和person(1到1)和另一个表映射ID和数字(1到n)

select 1 from PEOPLE,PHONE_NUMBERS where NUMBER=<wanted_number> and PEOPLE.ID=PHONE_NUMBERS.ID

您的查询将是:

WebElement webElement = driver.findElement(By.xpath("//*[@id='main']/div/div[2]/form/div[2]/div[7]/div/div[1]/div[1]/input"));//You can use xpath, ID or name whatever you like
             driver.findElement(By.xpath("//*[@id='main']/div/div[2]/form/div[2]/div[7]/div/div[1]/div[1]/input")).sendKeys(AGR);
             webElement.sendKeys(Keys.ENTER);

如果此查询的结果为1,则存在数字

答案 2 :(得分:0)

类似于:'%,number,%'这样的手机