【问题标题】:Phone Number Conversion and Comparison电话号码转换和比较
【发布时间】:2013-02-15 22:06:29
【问题描述】:

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

【问题讨论】:

  • 你已经用 mysql 和 vb.net 标记了这个。你想怎么做,在 sql 中还是在 vb.net 中?
  • 我正在使用 MySQL 表并使用 datagridview 来显示查询。
  • 您也可以查看.Net port of libphonenumber - 它在 c# 中,但在 vb.net 上也应该可以正常工作。

标签: mysql .net vb.net datagridview


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-18
    • 1970-01-01
    • 2014-11-30
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多