【发布时间】:2016-09-01 15:39:59
【问题描述】:
我正在寻找一种方法来在我的表格条目中找到给定字符串的一部分。 字段为表中的varchar。
搜索
/brands/brand/actona/kitchen-article/item/01945
并且想找到这一行:
/brands/brand/actona/$
- 或者也许这一行
/brands/brand/actona/kitchen-$
有没有办法解决这个问题?问题是该表至少有 57k 个条目。我从一个旧的(太大的)nginx-config 文件中导入数据,这些文件都是永久重定向。
更新:
我需要一个与“LIKE”大致相反的东西,因为我搜索的字符串的一部分存储在带有通配符($)的表中,它也可以匹配另一个以相同开头的字符串。 /brands/brand/actona/$ 可以匹配 /brands/brand/actona/123 也可以匹配 /brands/brand/actona/abc/def。
所以当我搜索/brands/brand/actona/abc/def 甚至/brands/brand/actona/abc/def/xyz 时,它需要匹配/brands/brand/actona/$ 的行
我实际上尝试从 nginx.config 文件中外包 57k 永久重定向,以避免在每个请求上检查 6MB 配置文件。
我很抱歉我糟糕的英语:(
【问题讨论】:
-
您的问题不清楚。你想搜索什么,你在哪里搜索?请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。 How to create a Minimal, Complete, and Verifiable example
-
看看
LIKE。 -
列是给定字符串的一部分是什么意思。您给出的示例清楚地表明您希望在
/brands/brand/actona/之后找到任何匹配值,因此您应该使用select * from table where column_name like '/brands/brand/actona/%';。希望这会有所帮助。 -
代码中的
$字符是什么?
标签: php mysql sql regex wildcard