2013-02-15 89 views
0

我有兩列,我想比較:第一列是一個住宅號碼格式爲(555)555-5555,第二列以格式5555555555.00出現。我想比較第三列中每個數字的前6位數字,如果前6位數字匹配顯示TRUE,如果不匹配則爲false。我已經完成了查詢,但是將列轉換爲相同的格式正在殺死我。對此有何幫助?電話號碼轉換和比較

+0

你已經用mysql和vb.net標記了這個標籤。你想如何做到這一點,在SQL或在VB.NET? – Melanie 2013-02-15 22:11:23

+0

我正在使用MySQL表並使用datagridview來顯示查詢。 – 2013-02-15 22:12:39

+0

你可能也會看看libphonenumber的[.Net端口](https://bitbucket.org/pmezard/libphonenumber-csharp/wiki/Home) - 這是在c#中,但應該從vb.net工作得很好也。 – 2013-02-15 22:41:22

回答

1

在MySQL中,一個快速的解決辦法是這樣的:

SELECT 
    col1, 
    col2, 
    CASE WHEN 
    LEFT(
     REPLACE(REPLACE(REPLACE(REPLACE(col1, '(', ''), ')', ''), '-', ''), ' ', ''), 
     6) = LEFT(col2,6) 
    THEN 'True' 
    ELSE 'False' 
    END Matches 
FROM yourtable 

請參閱本fiddle