0

我有一个值,它代表一个邮政编码。

我需要通过将给定值与数据库两列中的值进行比较来查看哪个城市属于这个邮政编码。

这是我的 _cities 表:

city (name of the city, VARCHAR)
zipcode_start (the first zip code available, VARCHAR )
zipcode_end ( the last zip code available, VARCHAR ).

我留下的邮政编码按顺序编号。

因此,如果我有例如:city = Rome, zipcode_start = 00118 and zipcode_end = 00199并且给定的邮政编码是00119,我如何从数据库中获取城市罗马?

00119在这种情况下包含在序列00118-00199中,因此数据库应返回罗马。

我可以用 PHP 以多种方式做到这一点,但我正在寻找一种优雅的方式来直接使用 SQL 语句来做到这一点。

这可能吗?

谢谢你的帮助

4

1 回答 1

0

我会使用 BETWEEN,或者如果你不喜欢这样,你可以使用 >= 和 <=。如果你更喜欢 join 而不是 where 子句,你有时甚至可以加入不等式。

例如,

select city
from my_cities
where zipcode between zipcode_start and zipcode_end

您必须处理将变量放入该语句的问题,但我的印象是您已经可以处理该部分。这是你想要做的吗?我有点怀疑,但这就是我从你的问题中得到的全部。

于 2013-09-19T16:18:28.957 回答