【问题标题】:MySql why select 10.1.1.2 in likeMySql 为什么在like中选择10.1.1.2
【发布时间】:2018-03-28 04:36:27
【问题描述】:
mysql> select ordering, dst from alist where ordering=2 and dst like '%10.1.1.2%'; +----------+----------+ |订购 | dst | +----------+----------+ | 2 | 10.1.1.1-10.1.1.254 | +----------+----------+ 一组中的 1 行(0.00 秒)

【问题讨论】:

  • 这是什么问题,根据查询结果是有效且正确的
  • 10.1.1.1-10.1.1.254
  • % 之间的文本匹配子字符串,这里是正确的

标签: mysql


【解决方案1】:

如果你想匹配文字路径10.1.1.2,而不是10.1.1.254,那么你可以尝试在这里使用REGEXP

SELECT ordering, dst
FROM alist
WHERE ordering = 2 AND dst REGEXP '[[:<:]]10.1.1.2[[:>:]]';

这对应于寻找正则表达式模式\b10.1.1.2\b,即您的路径周围有单词边界。

下面的演示正确地表明,根据您提供的单行样本数据进行测试,您的查询没有结果集。

Demo

【讨论】:

  • 嗯?我不明白你
  • @neohwang : 你的预期输出是什么?
  • 我想要空结果。
  • @neohwang 你有没有打扰test my query?它似乎正在工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 2013-03-11
相关资源
最近更新 更多