Php 这种情况下如何进行mysql查询?

Php 这种情况下如何进行mysql查询?,php,mysql,Php,Mysql,我有一个mysql数据库表,其结构是: startphoneNum | endphoneNum | department 022589893232011 | 022589893232021 | sales 022589893232027 | 022589893232029 | Human Resources 022589893232041 | 022589893232048 | after sales 电话号码由三部分

我有一个mysql数据库表,其结构是:

startphoneNum      |   endphoneNum      |   department
022589893232011    |   022589893232021  |   sales
022589893232027    |   022589893232029  |   Human Resources
022589893232041    |   022589893232048  |   after sales
电话号码由三部分组成:022(城市代码)-589893232(公司号码)-011(分机号码)

我可以使用php explode,从格式
022-589893232-011
022589893232011
生成一个电话号码,然后如何通过
mysql查询
输入
电话号码
以获得
部门名称

例如:

如果我输入电话号码
0225898939323043
,它属于
售后服务

但是如何在代码中进行
php-mysql查询
?得到我需要的结果?谢谢

使用如下中间查询:

SELECT department FROM table WHERE '022589893232043' BETWEEN startphoneNum AND endphoneNum;
从[table]中选择部门,其中[phone number]>startphonenum和[phonenumber]
将[]替换为实际值…

尝试以下查询:

SELECT department 
FROM table1 
WHERE startphoneNum >= PHP_VARIABLE AND endphoneNum <= PHP_VARIABLE
选择部门
来自表1
其中startphoneNum>=PHP_变量和endphoneNum查看运算符:

$query = "SELECT department
          FROM myTable
          WHERE '$phoneNbr' BETWEEN startphoneNum AND endphoneNum;";
试试这个:

SELECT department FROM your_table
WHERE LEFT(your_num, 12) = LEFT(startphoneNum, 12)
  AND CONVERT(RIGHT(your_num, 3), UNSIGNED) BETWEEN
      CONVERT(RIGHT(startphoneNum, 3), UNSIGNED) AND
      CONVERT(RIGHT(endphoneNum, 3), UNSIGNED)

从department dp、phonenumber表pn中选择dp.department\u name,其中pn.startphonenum>'values'和pn.endphonenum<'values

是否已尝试查询?如果是,请粘贴在这里。
SELECT department FROM your_table
WHERE LEFT(your_num, 12) = LEFT(startphoneNum, 12)
  AND CONVERT(RIGHT(your_num, 3), UNSIGNED) BETWEEN
      CONVERT(RIGHT(startphoneNum, 3), UNSIGNED) AND
      CONVERT(RIGHT(endphoneNum, 3), UNSIGNED)