Sql substring()在配置单元中返回空白
我想从列的字段中提取最后10个数字,所以我在配置单元中使用了内置的substring函数。但是,如果字段值小于定义的值(从行尾最多检索10个字符)Sql substring()在配置单元中返回空白,sql,hadoop,hive,substring,hiveql,Sql,Hadoop,Hive,Substring,Hiveql,我想从列的字段中提取最后10个数字,所以我在配置单元中使用了内置的substring函数。但是,如果字段值小于定义的值(从行尾最多检索10个字符) select orig_number ,regexp_extract (orig_number,'.{1,10}$',0) as orig_number_suffix from num_table ; 这就是为什么会出现空白。 在我看来,substr函数的设计很糟糕 @托比斯佩特-我编辑了答案。尽管如此-(
select orig_number
,regexp_extract (orig_number,'.{1,10}$',0) as orig_number_suffix
from num_table
;
这就是为什么会出现空白。
在我看来,substr函数的设计很糟糕
@托比斯佩特-我编辑了答案。尽管如此-(1)答案的范围受到时间、互联网可用性、计算机可用性和帖子本身的质量/兴趣水平的限制。这个具体答案是在我等电梯时从手机中给出的。(2)请记住,这样的答案并不是为了作为一个教程,而是为了解决一个特定的问题。(3)我邀请你们来看看我的一些其他答案
+--------------+--------------------+
| orig_number | orig_number_suffix |
+--------------+--------------------+
| 140976526012 | 0976526012 |
| 140980434512 | 0980434512 |
| 1740016 | 1740016 |
| 1740016 | 1740016 |
| 17250460171 | 7250460171 |
+--------------+--------------------+
private int[] makeIndex(int pos, int len, int inputLen) {
if ((Math.abs(pos) > inputLen)) {
return null;
}
...