我無法弄清楚如何在 Snowflake 中撰寫一個正則運算式來回傳字串中的最后 7 位數字。非作業示例:
SELECT REGEXP_SUBSTR('4000400 - 小工具收入:4000401 - 特殊小工具:4000422 - 微小的特殊小工具', '\D*\d \D (\d ).*')
uj5u.com熱心網友回復:
使用'(\\d{7})(\\D*)$'和訪問第一個子組:
SELECT REGEXP_SUBSTR('4000400 - Widget Revenue:4000401 - Special Widgets:4000422 - Tiny Special Widgets'
,'(\\d{7})(\\D*)$',1,1,'e',1) AS result
輸出:
4000422
編輯:
處理最后一次出現 7 位數字后少于 7 位的數字:
SELECT REGEXP_SUBSTR('6000700 - Benefit Expense:6000820 - Benefits - 401k Match'
,'(\\d{7})(\\D \\d{0,6}\\D*)*$',1,1,'e',1);
-- 6000820
SELECT REGEXP_SUBSTR('4000400 - Widget Revenue:4000401 - Special Widgets:4000422 - Tiny Special Widgets'
,'(\\d{7})(\\D \\d{0,6}\\D*)*$',1,1,'e',1);
-- 4000422
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/361186.html
