我正在研究一种代码,它提供有关您在荷兰居住地的基本信息。
因为我需要来自邮政编码的“id”,它可以在 zip A (1234) 和 zip B (1236) 之间变化。这些开始和结束数字已经在数据库中。但我未能获得 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
非常感谢!
最佳答案
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
中选择列?
你能试试这样吗:
SELECT
id
FROM
zip_code_table
WHERE
zip BETWEEN 9000 AND 9100
关于php - 在 DB 中的值之间进行 SQL 搜索(邮政编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9179335/