sql - 选择以字符串形式存储在字符串中的邮政编码(配置单元)

标签 sql string hadoop hive range

我想选择居住在加利福尼亚邮政编码中的人。但是,我使用的这张表将邮政编码存储为字符串,而不是整数,因此我喜欢在它周围放一个Qutoe。

我如何在范围内选择这些值,而不必键入它们?
我想做这样的事情:select people from tablename where postal_code >= '90001' and postal_code <= '96162'
谢谢!

最佳答案

虽然您的查询可能会在此特定时间间隔内工作,但最好使用cast将字符串转换为整数以进行正确的数值比较:

select people 
from tablename 
where cast(postal_code as int) between 90001 and 96162

字符串和数字比较不遵循相同的规则,并且通过比较字符串最终会得到意外的结果。例如,按字符串,'9'大于'10'

关于sql - 选择以字符串形式存储在字符串中的邮政编码(配置单元),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59256438/

相关文章:

hadoop - 在Apache pig 中使用FILTER后显示袋子

Php 计数 +1 表中插入的值

mysql - 来自自连接表和另一个 MySQL 的结果集

mysql - 不存在查询

Java Regex 替换由非字母数字字符包围的字符串

java - 以奇怪的方式遍历 LinkedList?

hadoop - 来自unix_timestamp()的配置单元日期和时间戳

mysql - 在 MIN 日期和 MIN 日期 + 11 个月之间进行选择 - MySQL

java - NullPointerException 将子字符串从字符串添加到数组列表

hadoop - Hadoop-作业执行方式-需要逐步说明