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