我有一根绳子 AF1234 我想打印 1234 有时我也只能得到这样的数字 25 以及 23 我也需要这些数字,因此我尝试使用regex\u替换来检查字符串,下面是语法:
AF1234
1234
25
23
select substring(nvl(nullif(regexp_replace(regexp_replace('AF1234','A$',''),'[[:digit:]]',''),''),'XX'),1,2)
这在 Impala 中有效,但在Hive中不起作用
9wbgstp71#
在Hive、 Impala 、星火sql中测试
select regexp_extract('AF1234','(\\d+)',1)
结果:
blpfk2vs2#
如果你想从字母数字中提取数字,试试这个,
scala> spark.sql("select regexp_replace('AF1234','[A-Z]*','')").show +------------------------------+ |regexp_replace(AF1234, [A-Z]*, )| +------------------------------+ | 1234| +------------------------------+ spark.sql("select regexp_replace('23','[A-Z]*','')").show +----------------------------+ |regexp_replace(23, [A-Z]*, )| +----------------------------+ | 23| +----------------------------+
2条答案
按热度按时间9wbgstp71#
在Hive、 Impala 、星火sql中测试
结果:
blpfk2vs2#
如果你想从字母数字中提取数字,试试这个,