sql - impala 长度小于 8 位数字

标签 sql hadoop impala

我有一些客户编号,其中一些长度超过 8 位。我怎样才能标记它们,使它们不被计算在内?

我尝试了以下方法:

SELECT 
t1.updte_user as staff_number,
(CASE WHEN (CAST(t1.updte_user) AS INT ) Integer not null check 
((CAST(t1.updte_user)AS INT) between 0 and 99999999 THEN  1 else 0 ) end as  
TRUE_STAFF
from old as t1;

我需要改变什么?

最佳答案

这个怎么样?

select staff_number, 
       (case when t1.updte_user > 100000000 then 0 else 1 end)
from old;

如果值是一个字符串,那么只需使用length():

select staff_number,
       (case when length(t1.updte_user) > 8 then 0 else 1 end)
from old;

关于sql - impala 长度小于 8 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53423599/

相关文章:

sql - Hive - 如何组合 A 列和 B 列上的分组以及 C 列上的不同分组

.net - 在这种情况下如何使用 SQL Parameter

java - 无法在 Hadoop 中使用 Mapreduce 获得预期的减少输出

java : Class cast Exception with java and externam API

hadoop - 使用 LDAP 配置 Impala

php - MySQL 结果不想排序

java - 如何使用基于jsontype属性的jOOQ从数据库检索数据

entity-framework - Azure Hadoop 和 Entity Framework

mysql - hive-metastore 无法在 cloudera manager 安装过程中启动

hadoop - 将数据加载到Hive/Impala