开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

为啥返回Null?用keyvalue函数

image.png

展开
收起
游客6vdkhpqtie2h2 2022-09-21 11:06:41 673 0
6 条回答
写回答
取消 提交回答
  • Null 是一特殊指针值(或是一种对象引用)表示这个指针并不指向任何的对象。这样的 指针称之为 Null指针

    2022-11-29 22:51:05
    赞同 展开评论 打赏
  • 柳暗花明又一村

    参阅文档keyvalue函数的说明

    2022-11-28 11:11:04
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在检查时候,首先我们要清楚KEYVALUE()的语法,语法如图所示。

    KEYVALUE()语法

    语法知道了,我们来仔细说一下这个语法的意思: 1、如果是语法一的情况,将srcStr按split1分成key-value对,按split2将key-value对分开,返回key所对应的value。 2、如果是语法二的情况,分隔符默认值就是split1 = ' ;', split2 = ' :'

    注意了,假如最后返回值是null,那么会有两种情况:

    1、如果是语法一,并且split1或者split2明确被定义为null,那么结果一定是null; 2、不管是语法一还是语法二,如果srcStr和key本身就为null,那么结果一定是null; 3、不管是语法一还是语法二,如果没有匹配的key,那么结果一定是null。

    所以,结合本题,你就知道为啥结果是null了。

    2022-11-24 14:16:00
    赞同 展开评论 打赏
  • 码中自由一片天地。。。

    因为字段没有数据,可以在sql里加入 select keyvalue()函数 来校验

    2022-11-24 11:45:28
    赞同 展开评论 打赏
  • coder at work

    可以参考 keyvalue 函数的说明, 在 sql 运行界面使用 select keyvalue() 进行验证

    2022-11-24 11:09:06
    赞同 展开评论 打赏
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    如果split1或split2为NULL时,则返回NULL。 如果str或者key_name为NULL时,则返回NULL。 如果没有匹配的Key时,则返回NULL。 如果有多个key-value匹配,返回第一个匹配上的Key对应的Value。

    2022-11-23 15:53:01
    赞同 展开评论 打赏
滑动查看更多

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载