我正在嘗試提取字串中存在的數字,其中字串以不同的方式出現。下面提到了我收到的字串和預期的輸出。
產品描述 | 預期包裝尺寸 | CURRENT_RESULT |
---|---|---|
產品 A 3 芝士片 170 GM | 170 | 3170 |
產品 B 糖 1.3KG (CL) | 1300 | 13 |
產品 C 芝士片 12X156GM | 156 | 12156 |
產品 番茄醬瓶 200GM (CL) | 200 | 200 |
產品 番茄醬 1.3KG (CL) | 1300 | 13 |
我嘗試在 Snowflake SQL 中使用以下轉換,但它只是從字串中提取所有數字文字。
REGEXP_REPLACE(SPLIT_PART(UPPER(PRODUTC_DESCRIPTION),'GM',1),'[^[:digit:]]')
我需要在雪花中運行代碼,任何幫助將不勝感激。
謝謝
uj5u.com熱心網友回復:
這樣的事情可能會有所幫助:
select PRODUTC_DESCRIPTION,
TRIM( regexp_substr( PRODUTC_DESCRIPTION, '([\\.\\d ]*\\d *)((KG|K|GM))',1,1,'e')) as packsize_num,
TRIM( regexp_substr( PRODUTC_DESCRIPTION, '[\\.\\d ]*\\d *((KG|K|GM))',1,1,'e')) as packsize_unit,
IFF( packsize_unit IN ('K','KG'), packsize_num * 1000, packsize_num ) packsize
from values
('PRODUCT A 3 CHEESE SLICE 170 GM'),
('PRODUCT B SUGAR 1.3KG (CL)'),
('PRODUCT C CHEESE SLICES 12X156GM'),
('PRODUCT KETCHUP BOTTLE 200GM (CL)'),
('PRODUCT KETCHUP 1.3KG (CL)') tmp(PRODUTC_DESCRIPTION);
----------------------------------- -------------- --------------- ----------
| PRODUTC_DESCRIPTION | PACKSIZE_NUM | PACKSIZE_UNIT | PACKSIZE |
----------------------------------- -------------- --------------- ----------
| PRODUCT A 3 CHEESE SLICE 170 GM | 170 | GM | 170 |
| PRODUCT B SUGAR 1.3KG (CL) | 1.3 | KG | 1,300 |
| PRODUCT C CHEESE SLICES 12X156GM | 156 | GM | 156 |
| PRODUCT KETCHUP BOTTLE 200GM (CL) | 200 | GM | 200 |
| PRODUCT KETCHUP 1.3KG (CL) | 1.3 | KG | 1,300 |
----------------------------------- -------------- --------------- ----------
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/508387.html