我可以两次使用LIKE吗?

时间:2010-10-17 21:11:26

标签: mysql

我想做一个mysql选择,但我需要选择两种类型的数据,一种是从0256开始,另一种是0356.我可以使用:

SELECT * FROM table WHERE tel LIKE '0256%' AND '0356%'

感谢, 塞巴斯蒂安

修改 我在PHP中遇到这些查询的问题。 上面的查询,在mysql中工作正常,但在PHP中我只得到LIKE '0256%'

的结果

3 个答案:

答案 0 :(得分:11)

您可能正在寻找这样的查询:

SELECT *                /* Select all columns */
FROM table              /* from the table named 'table' */
WHERE tel LIKE '0256%'  /* where the field 'tel' starts with '0256' */
   OR tel LIKE '0356%'  /* or where the field 'tel' start with '0356' */

答案 1 :(得分:4)

使用AND代替OR时遇到2个问题,而在第二个参数

之前没有LIKE
SELECT * FROM table WHERE tel LIKE '0256%' OR tel LIKE '0356%' 

答案 2 :(得分:0)

您也可以使用REGEX:

SELECT * 
FROM table 
WHERE tel RLIKE '0[23]56.*'

随着更多数字选项的增加(假设他们愿意),这可能会使事情更清晰。它也可能使查询更快,但必须执行分析以查看实际情况是否如此。