如何在 Hive 中修剪前导零,我在谷歌上搜索了太多,但没有得到任何对我的问题有用的正确信息。
如果数字是“00000012300234”想要像“12300234”这样的结果
您可以使用以下方法实现:regexp_replace 字符串函数
regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)
以下删除前导零,但在必要时保留一个(即它不会只是将“0”变成空白字符串)。
hive> SELECT regexp_replace( "00000012300234","^0+(?!$)","") ;
OK
12300234
Time taken: 0.156 seconds, Fetched: 1 row(s)
hive> SELECT regexp_replace( "000000","^0+(?!$)","") ;
OK
0
Time taken: 0.157 seconds, Fetched: 1 row(s)
hive> SELECT regexp_replace( "0","^0+(?!$)","") ;
OK
0
Time taken: 0.12 seconds, Fetched: 1 row(s)
Run Code Online (Sandbox Code Playgroud)
或使用CAST- 强制转换为 int 到字符串:
hive> SELECT CAST(CAST( "00000012300234" AS INT) as string);
OK
12300234
Time taken: 0.115 seconds, Fetched: 1 row(s)
hive> SELECT CAST( "00000012300234" AS INT);
OK
12300234
Time taken: 0.379 seconds, Fetched: 1 row(s)
hive>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14215 次 |
| 最近记录: |