MySQL:如何创建可以查询匹配模式的记录

时间:2011-08-09 18:12:17

标签: mysql sql linux

我有一个这样的电话簿数据库:

         company_name |  company_number  |   company_priority

每次来电时,Asterisk系统中的模块会对该号码运行查询,以检测优先级是什么。

select company_priority from clients where company_number like '%NUMBER%';

根据优先级,它将呼叫路由到不同的路由。

我现在要做的是,是否有任何特殊字符可以放入记录中(是的,而不是在查询中)。像1800 * *

或者,我们可以执行两个不同的查询吗?比如“select * from xx || select * from xx”;

我无法更改变量或查询,因为它内置于模块中。我唯一的另一种选择是撕开模块并在那里进行一些更改。

1 个答案:

答案 0 :(得分:2)

你可以,它有效!我也很惊讶!例如:

create table tmp ( a varchar(20) );

insert into tmp values ('%ahoj%'), ('nazdar%');

select * from tmp where 'nazdar   ahoj' like a;

+---------+
| a       |
+---------+
| %ahoj%  |
| nazdar% |
+---------+

所以在你的情况下,你可以填写,例如company_number列中的1080%用于标识以1080开头的所有数字。然后使用此查询测试特定的NUMBER:

select company_priority from clients where 'NUMBER' like company_number;