2011-11-16 33 views
0

我有一个MySQL数据库表,结构调查是:022(城市代码) - 589893232(公司数量) - 011(分机号码)如何让mysql查询这样的情况?

我:

startphoneNum  | endphoneNum  | department 
022589893232011 | 022589893232021 | sales 
022589893232027 | 022589893232029 | Human Resources 
022589893232041 | 022589893232048 | after sales 

的电话号码由3个部分组成可以使用php爆炸,使格式022-589893232-011到​​的电话号码,然后如何通过mysql queryphone number得到department name

例如:

如果我把电话号码022589893232043,它属于after sales, 但如何使代码php mysql query?并得到我需要的结果?谢谢。

+0

你已经尝试查询?如果是这样,请在此粘贴。 –

回答

8

使用之间这样的查询:

SELECT department FROM table WHERE '022589893232043' BETWEEN startphoneNum AND endphoneNum; 
+0

+1为简单起见 –

0
select department from [table] where [phone number] > startphonenum AND [phonenumber] < endphonenum 

替换的实际值[] ...

1

尝试此查询:

SELECT department 
FROM table1 
WHERE startphoneNum >= PHP_VARIABLE AND endphoneNum <= PHP_VARIABLE 
1

看一看在BETWEEN运营商:

$query = "SELECT department 
      FROM myTable 
      WHERE '$phoneNbr' BETWEEN startphoneNum AND endphoneNum;"; 
1

试试这个:

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) 
0

选择从部门DP dp.department_name,phonenumber_table PN其中pn.startphonenum> '价值' 和pn.endphonenum <价值观