【问题标题】:how to use db column name in regex_replace() - presto如何在 regex_replace() 中使用 db 列名 - presto
【发布时间】:2021-11-14 17:21:01
【问题描述】:

我是 presto 的新手,我希望在特定的 db 列上使用 regex_replace 而不是字符串。 例如:替换“描述”列中的所有条目,该列以数字开头,后跟“table1”中的空格

有人可以帮忙举个例子吗?

我试过这个:

select(regexp_replace(col("Description"), '\d+\s')) from table1 但出现错误:“未找到函数”,未注册函数“Col”。

提前致谢!

【问题讨论】:

    标签: sql presto regexp-replace


    【解决方案1】:

    放置列名就足够了,应该添加一个替换字符串。所以,

    col("Description") -> Description
     -> ,'replace_string'
    

    最终查询应该是这样的:

    select regexp_replace(Description, '\d+\s','replace_string' ) from table1 b
    

    【讨论】:

    • 谢谢!!成功了,感谢您的帮助!
    • @swapd 我的赞成票在哪里 :))))
    • 很遗憾,我没有资格更新,需要 15 个声望才能投票,而我只有一个 :( 感谢您的及时帮助!
    【解决方案2】:

    我认为这是你想要的:

    SELECT
      REGEXP_REPLACE(`Description`, '\d+\s')
    FROM `table1`
    

    它们在 SQL 中是可选的,但您使用反引号表示列名和表名,使用撇号表示字符串。

    【讨论】:

    • 这太棒了!!谢谢你的帮助!反引号对我不起作用,但只是带引号的列名。
    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    • 2021-02-02
    • 2021-01-02
    • 2020-01-18
    • 2016-05-07
    • 2019-05-13
    相关资源
    最近更新 更多