【问题标题】:Get [operator name] from [phone number] range从 [电话号码] 范围内获取 [运营商名称]
【发布时间】:2013-12-20 11:56:25
【问题描述】:

表格

有一个电话号码(例如 +74859298085)。我可以从上表中获取操作员名称(part1+part2)吗?从哪里开始?

【问题讨论】:

  • 您必须将该电话号码拆分为“代码”和“值”。然后在该表中搜索“代码”相等且“值”介于“开始”和“结束”之间的行。问题部分是如何拆分该电话号码。
  • 我在图片中没有看到任何电话 +74859298085。从 table1 中选择替换('operator_name_',operator_name1,'')+replace('operator_name_',operator_name2,'')
  • +74859298085 放在其他表中。
  • 你想要什么模棱两可。 Bcoz 您显示的数字与您提供的表格不相似。请提供所有示例数据和所需的输出。
  • +74859298085 是样机。 +74501925555 顺其自然。

标签: sql sql-server select substring procedure


【解决方案1】:

试试这个:

SELECT O.OPERATOR_NAME1, O.OPERATOR_NAME2 
FROM OPERATOR O 
WHERE CONVERT(INT, RIGHT('+74501925555', 7)) BETWEEN O.BEGIN AND O.END;

【讨论】:

  • 你认为这个数字是 Varchar 格式吗?如果数字是数字怎么办?
  • @Aditya 无论数字是数字还是字符串都可以使用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 2017-02-20
  • 1970-01-01
相关资源
最近更新 更多