首页 > 解决方案 > 返回字符串末尾的数值 - Presto SQL

问题描述

我试图在他们自己的列中返回字符串末尾的数值。

示例 - adfjdakfadkf || adfjadkfajd || adjfkad || dajlaj (123456789)

整个表格中的数字长度会发生变化,因此它需要是动态的。

我正在使用 split 以 '(' 和 ')' 作为分隔符进行映射,但没有运气。

提前致谢!

标签: sqlamazon-athenapresto

解决方案


您可以使用regexp_extract()来实现这一点。例如:

WITH data(c) AS (
    VALUES 'adfjdakfadkf || adfjadkfajd || adjfkad || dajlaj (123456789)'
) 
SELECT regexp_extract(c, '\((\d+)\)', 1) 
FROM data

产生:

   _col0
-----------
 123456789
(1 row)

推荐阅读