簡體   English   中英

正則表達式從字符串中獲取十進制值

[英]Regular expression to get decimal value from string

我想從字符串中修剪值然后除以某個值,但我的正則表達式返回零或一。

select (trim(total) regexp '^[0-9]*[.]{0,1}[0-9]*$')/3 as total_c
from test;

我怎樣才能獲得實際值而不是0或1.例如,從A9.9我想要3.3 總列的樣本日期:

    A9.9
    ABC2.2
    2.3xyz
    22
    .....

在Mysql中沒有直接支持正則表達式替換。 您必須使用用戶定義的函數,如REGEX_REPLACE(),或者您可以使用PREG_CAPTURE()

就您的查詢而言

select (trim(total) regexp '^[0-9]*[.]{0,1}[0-9]*$')/3 as total_c
from test;

正則表達式后跟regexp運算符不匹配並返回值0,因此結果為0。

暫無
暫無

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

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