在 MySQL 的正则表达式中使用列

2023-11-21

我正在使用以下查询regexp:

SELECT a.id, a.company, a.name, b.title, b.description, b.t_id
FROM a, b
WHERE ( b.title
REGEXP "[[:<:]]a.company[[:>:]]" OR b.description
REGEXP "[[:<:]]a.company[[:>:]]" OR b.title
REGEXP "[[:<:]]a.name[[:>:]]"  OR b.description
REGEXP "[[:<:]]a.name[[:>:]]" ) AND a.company !=  '' AND a.name !=  ''

但是,此查询没有给出任何结果,也没有给出任何语法错误。

当我更换时a.company or a.name与任何公司名称然后这个查询运行良好。为什么此查询不适用于列名?


您正在搜索文字字符串a.company,而不是列。尝试这个:

SELECT a.id, a.company, a.name, b.title, b.description, b.t_id
FROM a, b
WHERE 
    ( 
        b.title REGEXP concat('[[:<:]]', a.company, '[[:>:]]') 
        OR b.description REGEXP concat('[[:<:]]', a.company, '[[:>:]]') 
        OR b.title REGEXP concat('[[:<:]]', a.name, '[[:>:]]')
        OR b.description REGEXP concat('[[:<:]]', a.name, '[[:>:]]')
    ) 
    AND a.company !=  '' AND a.name !=  ''

这提供了regexp使用列的值,而不是字符串'a.company'。因为我的猜测是您想要比较列值(而不是列名称),所以您需要连接您的regexp一起。

您可以使用以下查询进行测试:

select
    'My col: a.company' as Test1,
    'My col: ' + a.company as Test2
from
    a

Here, Test1永远是价值My col: a.company,而 Test2 将是My col: <company col value here>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 MySQL 的正则表达式中使用列 的相关文章

  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • 如何使用正则表达式匹配模式的最后一次出现

    我有一个像这样的字符串 token1 token2 我要匹配 token2 使用正则表达式 它应该匹配的其他可能的情况是 token1 应该匹配 最后一个 token1 应该匹配 最后一个 token1 token2应该匹配 token2
  • Hibernate 对集合的查询过滤器

    我想执行以下查询 from Item i where i categoryItems catalogId catId 然而 这会产生以下异常 非法尝试取消引用集合 所以我用谷歌搜索 找到了这个 Hibernate 论坛帖子https for
  • 查找 PostgreSQL 中所有范围集合的所有交集

    我正在寻找一种有效的方法来查找时间戳范围集之间的所有交集 它需要与 PostgreSQL 9 2 配合使用 假设这些范围代表一个人可以见面的时间 每个人都可以有一个或多个空闲时间范围 我想找到all可以召开会议的时间段 即所有人都有空的时间
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • 正则表达式 '?' 的类似物(前一项可选)在T-SQL中像什么?

    我想知道 是否可以翻译包含 的正则表达式 前面的项目可选 在 T SQL LIKE 模式中 DB 端无需任何操作 例如 31 4 我可以将其分成几个子句 但如果正则表达式包含很多 这不太方便 LIKE不使用正则表达式 并且它使用的模式语言没
  • 拆分列中的字符串并在列中添加值

    我有一个包含几行数据的表 如下所示 16 W 2 Work ALBO 00 Proposal ALxO Amendement 1 20091022 signed pdf 17 W 2 Work ALBO 00 Proposal Level1
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • 如何正确转义mysql?

    我刚刚发现如果我写 select from tbl where name like foo 然后添加 foo 作为参数及其值 a 用户数据 它不会正确转义 我勒个去 它想要 a 即使我使用参数 我还是忍不住觉得我对 sql 注入持开放态度
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 正则表达式拆分数字和字母组,不带空格

    如果我有一个像 11E12C108N 这样的字符串 它是字母组和数字组的串联 如何在中间没有分隔符空格字符的情况下分割它们 例如 我希望分割结果为 tokens 0 11 tokens 1 E tokens 2 12 tokens 3 C
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 如何从 PostgreSQL 中的时间戳列值提取一天中的时间(或小时)?

    我正在尝试从 PostgreSQL 中的 时间戳 列中提取一天中的时间 这是我的做法 但是 太糟糕了 知道如何做得更好吗 SELECT date part hour date demande text hours date part min
  • 在 SQL 数据库中存储“列表”的最正确方法是什么?

    因此 我读了很多关于如何将多个值存储到一个列中是一个坏主意 并且违反了数据标准化的第一条规则 令人惊讶的是 这不是 不要谈论数据标准化 所以我需要一些帮助 目前我正在为我工 作的地方设计一个 ASP NET 网页 我想根据此人所属的 Act
  • 当所有维度值都具有 100% 重要性时处理多对多维度

    我至少会尽力保持简洁 假设我们正在跟踪一段时间内的账户余额 所以我们的事实表将包含诸如 账户余额情况表 FK 账户ID FK 日期ID Balance 显然你有一个账户维度表 and a 日期维度表 所以现在我们可以轻松地过滤帐户或日期 或
  • 如何使用 XPath 正则表达式匹配 URL

    需要 XPath 方面的帮助 我有这样一个XML
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou

随机推荐

  • 为什么 strchr 采用 int 来查找 char?

    The strchrC 标准库中的函数寻找char在一个字符串中 但它的签名需要一个int为搜索字符 在我发现的这两个实现中 该实现投射了这个int to a char char strchr const char s int c whil
  • 在 PowerShell 中使用适用于 Windows 的 Git 时使用脱字符号 (^)

    我在 PowerShell 命令行中使用 git 并且我尝试使用类似的东西 git difftool HEAD Powershell 似乎将其视为我输入的 git difftool HEAD 所以插入符号消失了 如果我使用插入符号的多个副本
  • MySQL 提交和事务

    我有一个关于 MySQL 提交和事务的问题 我有几个执行 MySQL 查询的 PHP 语句 我只说下面这些吗 mysql query START TRANSACTION more queries here mysql query COMMI
  • 在 Apache 中处理 CORS 预检请求

    我有一个使用 Yeoman 部署的 AngularJS 应用程序 Cakephp RESTful 后端 Angular 应用程序发送 OPTIONS 预检请求 后端以禁止 403 响应 在 nginx 中为了解决这个问题我使用了这个 if
  • 如何最好地处理构造函数中的异常?

    如何在构造中以最好的方式处理异常 option1 捕获创建对象的异常 class Account function construct id if empty id throw new My Exception id can t be em
  • ggplot2中的默认线型?

    我在这里努力找出 ggplot2 中使用的默认线型 我有一个数据框如下 test lt structure list time c 151 04167175293 151 125015258789 151 20832824707 151 2
  • 为什么涉及虚拟继承时不能使用static_cast向下转型?

    考虑以下代码 struct Base struct Derived public virtual Base void f Base b new Derived Derived d static cast
  • 在远程Linux主机上执行本地脚本

    我有一个本地脚本 如果没有远程主机上的 root 权限 该脚本将无法运行 我已编辑并允许 sudoers 文件从主目录 home username script 运行脚本 该脚本使用结果创建一个 txt 文件 但我将输出重定向到终端 并将输
  • 使用 msbuild 从命令行创建应用程序包

    我可以使用向导从 Visual Studio 2013 创建应用程序包 结果文件是MyProject Win8 1 1 1 3 x86 x64 arm bundle appxupload 这很好 我可以使用以下命令来构建 appxuploa
  • “__MSG_@@extension_id__”不起作用,并且网络字体无法加载

    我正在开发一个 Google Chrome 扩展 它将样式表注入到我定义的特定网站中manifest json 样式表中包含网络字体 font face and src url chrome extension MSG extension
  • 通过 git hook 缩小 CSS 文件

    我的理想情况是自动缩小 CSS 文件并将它们添加到 git 提交中 我不确定是否可以完成下面的 4 但我希望执行以下流程 修改CSS文件 添加到暂存区 Commit 运行更新缩小文件并将其添加到提交的脚本 提交完成 如果有其他方法 我也会对
  • 在 JavaScript 中删除对象

    我对 JavaScript 有点困惑delete操作员 采取以下代码 var obj helloText Hello World var foo obj delete obj 这段代码执行完后 obj is null but foo仍然指的
  • 使用 tm 和 RWeka 创建 N-Grams - 适用于 VCorpus,但不适用于 Corpus

    遵循许多创建指南biGrams使用 tm 和 RWeka 包 我感到沮丧的是 只有1 Grams被退回tdm 通过多次试验和错误 我发现使用 实现了正确的功能VCorpus 但不使用 Corpus 顺便说一句 我很确定这在 1 个月前与 C
  • ggplot2 有没有一种简单的方法来包装注释文本?

    我目前正在使用ggplot2和注释函数 文档中的示例如下 我对未知长度的文本进行注释的宽度有限 并且需要一种自动方式将其包装在一些文本中x start and x end价值观 由于我不想更改字体大小 因此我还需要移动y值取决于引入的中断数
  • x86-64 在寄存器中传递参数的顺序

    我对 x86 64 环境中的参数传递过程感到好奇 因此我编写了一段代码 a c extern int shared int main int a 100 swap a shared b c int shared 1 void swap in
  • 使用 PowerShell 在目录上递归运行简单命令

    使用 DOS 脚本或 PowerShell 在目录及其所有子目录上运行此简单命令的最快方法是什么 convert filename jpg resize 620x620 R processed filename jpg 单个目录的 DOS
  • jquery ajax 休息调用 - 不支持的媒体类型

    我正在对休息服务进行简单的 jquery ajax 调用 我将 contentType 设置为 application json 其余资源配置为接受 MediaType APPLICATION JSON 这是一个 POST 方法 通过这个设
  • ASP.NET MVC Html.ValidationSummary(true) 不显示模型错误

    我对 Html ValidationSummary 有一些问题 我不想在 ValidationSummary 中显示属性错误 当我设置 Html ValidationSummary true 时 它不会显示来自 ModelState 的错误
  • 在 Java 中使用 MANIFEST.MF 文件

    我注意到 JAR WAR 和 EAR 文件有一个MANIFEST MF文件下的META INF folder 有什么用MANIFEST MF文件 该文件中可以指定哪些内容 使用 Java 开发工具包 1 0 版创建的 JAR 文件中的 Ma
  • 在 MySQL 的正则表达式中使用列

    我正在使用以下查询regexp SELECT a id a company a name b title b description b t id FROM a b WHERE b title REGEXP lt a company gt