Sql 如何在配置单元中测试isnumeric条件?

Sql 如何在配置单元中测试isnumeric条件?,sql,hadoop,apache-spark,hive,bigdata,Sql,Hadoop,Apache Spark,Hive,Bigdata,我有数据ID列,它包含数字和字母,我只需要数字ID列表,是否有任何相同的内置条件,我想将数据转换为后者。 我知道在SQL中 'CASE WHEN ISNUMERIC([id])=1 THEN CAST([id] as int) ELSE 0 END [ID]' 配置单元中的查询是什么? 请帮帮忙。试试这个方法 select CAST([id] as int) as id from tablename where ISNUMERIC([id])=1 你的查询中到底有什么内容?我有varch

我有数据ID列,它包含数字和字母,我只需要数字ID列表,是否有任何相同的内置条件,我想将数据转换为后者。 我知道在SQL中

 'CASE WHEN ISNUMERIC([id])=1 THEN CAST([id] as int) ELSE 0 END [ID]' 
配置单元中的查询是什么?
请帮帮忙。

试试这个方法

select CAST([id] as int) as id from tablename where ISNUMERIC([id])=1

你的查询中到底有什么内容?我有varchar数据类型中的数据,我想将其转换(强制转换)为int类型,前提是它包含数字字符。你使用的是哪个配置单元版本?CDH 5.4,在该配置单元中有1.1.0版本。这个spark如何相关?抱歉,现在在配置单元中,isnumeric函数不存在……。我面临此函数的问题。。此答案完全不正确,因为isnumeric不是配置单元函数。回答不正确。OP要求提供蜂箱示例。在配置单元中,isnumeric不可用。配置单元中没有
isnumeric
函数,但类似的功能可以通过两种方式实现,查询方式为
select count(*),其中cast(as double)不为NULL
,或者使用正则表达式,如
select count(*),其中rlike“[^0-9]”