0

我有两列要比较:第一列是以 (555) 555-5555 的格式出现的住宅号码,第二列是以 5555555555.00 的格式出现的。我想比较第三列中每个数字的前 6 位,如果前 6 位匹配,则显示 TRUE,如果不匹配,则显示 false。我已经完成了查询,但是将列转换为相同的格式让我很生气。对此有什么帮助吗?

4

1 回答 1

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

请看这个小提琴

于 2013-02-15T22:12:11.383 回答