数据库中的值之间的SQL搜索(Zipcode)

时间:2012-02-07 15:50:06

标签: php mysql codeigniter

我正在编写一份代码,提供有关您居住在荷兰的地方的基本信息。

因为我需要邮政编码中的'id',它可以在zip B(1236)的zip A(1234)之间变化。那些开始和结束编号已经在数据库中。但我没有得到id,因为我的SQL语法出错了。

我尝试过以下操作:

SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `zipA` > '9291' OR `zipB` < '9291'
SELECT `id` WHERE `zipA` > '9291' AND `zipB` < '9291'

我能做些什么来完成这项工作?我只是MYSQL和php的初学者,我目前正在使用CodeIgniter 2.1.0

非常感谢!

1 个答案:

答案 0 :(得分:0)

SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `9291` BETWEEN 'zipA' AND 'zipB'
SELECT `id` WHERE `zipA` > '9291' AND `zipB` < '9291'

有几件事:

  • 您无法将整数值与char / varchar值进行比较。它    在我看来,你正试图将列9291与之比较    字符串值'zipA'和'zipB'。
  • 小心你的反引号/单引号。
  • 你的FROM声明在哪里?您正在选择列id FROM?

请你尝试这样的事情:

SELECT
   id
FROM
   zip_code_table
WHERE
   zip BETWEEN 9000 AND 9100