簡體   English   中英

如何僅從 PostgreSQL 8.0.2 Amazon Redshift 中的字符串中提取數字

[英]How to extract only numerics from string in PostgreSQL 8.0.2 Amazon Redshift

我只想要此字符串列的數字部分:

身份
學生人數:1234
學生:56
學生:789
id:driver_license-111-AZ
編號:learner_permit-222-NY

這樣 output 應該是:

通緝
1234
56
789
111
222

我正在使用 PostgreSQL 8.0.2 (Amazon Redshift),我認為SELECT REGEXP_SUBSTR(identity,'[0-9]') FROM table應該可以工作。 但事實並非如此。 我在 REGEXP_SUBSTR 中嘗試了可選的arguments的多種變體,但我無法讓它工作。 有人可以幫助我嗎? 使用此 function 或其他方式。

假設您使用正確的正則表達式模式,那么REGEXP_SUBSTR()應該可以工作:

SELECT REGEXP_SUBSTR(identity, '[0-9]+')  -- [0-9]+ means one or MORE digits
FROM yourTable;

您也許還可以使用正則表達式替換來表達這一點:

SELECT REGEXP_REPLACE(identity, '[^0-9]+', '')  -- strip non digit characters
FROM yourTable;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM