0
我有兩列,我想比較:第一列是一個住宅號碼格式爲(555)555-5555,第二列以格式5555555555.00出現。我想比較第三列中每個數字的前6位數字,如果前6位數字匹配顯示TRUE,如果不匹配則爲false。我已經完成了查詢,但是將列轉換爲相同的格式正在殺死我。對此有何幫助?電話號碼轉換和比較
我有兩列,我想比較:第一列是一個住宅號碼格式爲(555)555-5555,第二列以格式5555555555.00出現。我想比較第三列中每個數字的前6位數字,如果前6位數字匹配顯示TRUE,如果不匹配則爲false。我已經完成了查詢,但是將列轉換爲相同的格式正在殺死我。對此有何幫助?電話號碼轉換和比較
在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。
你已經用mysql和vb.net標記了這個標籤。你想如何做到這一點,在SQL或在VB.NET? – Melanie 2013-02-15 22:11:23
我正在使用MySQL表並使用datagridview來顯示查詢。 – 2013-02-15 22:12:39
你可能也會看看libphonenumber的[.Net端口](https://bitbucket.org/pmezard/libphonenumber-csharp/wiki/Home) - 這是在c#中,但應該從vb.net工作得很好也。 – 2013-02-15 22:41:22