May*_*kid 3 sql google-bigquery
所以我现在正在使用 BigQuery SQL 试图弄清楚如何删除字母但保留数字。例如:
XXXX123456
AAAA123456789
XYZR12345678
ABCD1234567
1111
2222
Run Code Online (Sandbox Code Playgroud)
所有数字前面都有相同数量的字母,而普通数字没有字母。我希望最终结果看起来像:
123456
123456789
12345678
1234567
1111
2222
Run Code Online (Sandbox Code Playgroud)
我尝试使用 PATINDEX 但 BigQuery 不支持该功能。我也试过使用 LEFT 但该函数将摆脱任何值,我不想摆脱任何数字值只有字母值。任何帮助将非常感激!
-Maykid
您可以使用regexp_replace()
:
select regexp_replace(str, '[^0-9]', '')
Run Code Online (Sandbox Code Playgroud)
以下示例适用于 BigQuery 标准 SQL
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'XXXX123456' str UNION ALL
SELECT 'AAAA123456789' UNION ALL
SELECT 'XYZR12345678' UNION ALL
SELECT 'ABCD1234567' UNION ALL
SELECT '1111' UNION ALL
SELECT '2222'
)
SELECT str, REGEXP_REPLACE(str, r'[a-zA-Z]', '') str_adjusted
FROM `project.dataset.table`
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8132 次 |
最近记录: |