簡體   English   中英

僅從sql中的地址列獲取數字

[英]Fetch numbers only from an address column in sql

實際上,在我的情況下,我需要從地址字符串中選擇街道號碼,這意味着如果字符串是“ 1234 dummy789 road ”,我只想獲取“ 1234 ”,而不是“ 1234789 ”。另一個示例是“ Plot 111 dummy 1220 ”,我只想要' 111 '。 如果字符串是“ 111/2 dummy ”,那么我想得到“ 111/2

我嘗試了以下操作:

SELECT CASE WHEN substr(address , 1, 1) between '0' and '9'
              THEN substr(address , 1, 1)
            ELSE 'False'
       END as add
from test
    <?php
        $ab = "1225584454 red 1555  blue";
        $result = explode(" ", $ab, 2);
        print_r($result);
    ?>

值的屏幕截圖

在這種情況下,這將為您提供變量中的第一個字符串。

假設您有民用號碼,后跟空格和街道名稱,那么我將提出以下建議:將WHERE語句與REGEXP一起獲取,以空格后面的數字開頭。 並且在返回的字段中僅獲取帶有子字符串的數字部分。

像這樣:

SELECT SUBSTRING(address, 0,  LOCATE(' ', address)) FROM items WHERE `address` REGEXP '^[0-9]+ '>0;

更正:

SELECT TRIM(LEFT(address, LOCATE(' ', address))) FROM items WHERE `address` REGEXP '^[0-9]+ '>0;

暫無
暫無

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

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