首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Presto URL函数

Presto URL函数
EN

Stack Overflow用户
提问于 2017-12-02 04:32:01
回答 1查看 2.1K关注 0票数 0

我需要从数据库中提取urls,在此过程中稍微调整它们的格式。数据库中的一些URL有指定的端口号,有些没有。我正在使用Presto的方便的URL提取函数,例如url_extract_port。

但是,当以下sql遇到未指定端口的url时,它将返回null --即使对于实际上不是空的行也是如此。(如果删除url_extract_port函数,就会得到链接值,但没有端口。)

代码语言:javascript
复制
SELECT
  concat(
    url_extract_protocol(link)
    ,'://'
    ,url_extract_host(link)
    ,':'
    ,cast(url_extract_port(link) AS VARCHAR)
  )
   AS  url
 FROM db.schema.urltable
WHERE link is not null

是否有一种方法可以在指定端口时在sql中指定只使用url_extract_port?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-04 05:22:12

聚结函数解决了这个问题,将url_extract_port行更改为:

代码语言:javascript
复制
,coalesce(cast(url_extract_port(link) AS VARCHAR),'')

在端口不存在的情况下,url_extract_port返回null。因此,在使用与合并一起使用时,将返回默认值(在本例中为空字符串)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47604603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档