在 WHERE 子句中使用 mysql concat() ?

2024-01-18

我想搜索我的表,其中包含一列名字和一列姓氏。我目前接受一个字段中的搜索词,并将其与两列进行比较,一次一个

    select * from table where first_name like '%$search_term%' or 
    last_name like '%$search_term%';

这适用于单个单词搜索词,但结果集包括名为“Larry”的每个人。但是,如果有人输入名字,然后输入空格,然后输入姓氏,我想要一个更窄的搜索结果。我尝试了以下方法但没有成功。

    select * from table where first_name like '%$search_term%' or last_name 
    like '%$search_term%' or concat_ws(' ',first_name,last_name) 
    like '%$search_term%';

有什么建议吗?

EDIT:我正在测试的名字是“Larry Smith”。数据库将“Larry”存储在“first_name”列中,将“Smith”存储在“last_name”列中。数据干净,没有多余的空格,并且搜索词被左右修剪。

EDIT 2:今天早上我尝试了罗伯特·甘布尔的答案。他的跑步和我昨晚跑步的非常相似。我无法解释,但今天早上它起作用了。我能想到的唯一区别是,昨晚我运行了 concat 函数作为搜索查询的第三个“或”段(在查看first_name和last_name之后)。今天早上,在查看了上面的内容以及地址和公司名称后,我将其作为最后一段运行。

在查询结束时运行 mysql 函数是否比在中间运行效果更好?


你所拥有的应该有效,但可以简化为:

select * from table where concat_ws(' ',first_name,last_name) 
like '%$search_term%';

您能否提供一个不起作用的示例名称和搜索词?

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

在 WHERE 子句中使用 mysql concat() ? 的相关文章

  • PHP 通过 SSL 连接到 MS SQL

    我想要实现的目标非常简单 我想通过安全连接从 PHP 脚本连接到外部 MS SQL 数据库 然而 这已被证明是有问题的 到目前为止 经过三个小时的研究 我不知所措 客户端的平台是Ubuntu 这意味着我无法使用SQLSRV 安全连接已经在不
  • Mysql 将 int 转换为 MAC

    我有一些数据可以转换 其中有 2 列 其中一列有 IP 它包含整数值 我在 mysql 查询中使用了以下函数 是否有一个函数可以用来转换我的 mac 列 其中包含整数和数据类型是bigint to MAC地址 SELECT INET NTO
  • Flask-login:无法理解它是如何工作的

    我试图理解如何Flask Login https flask login readthedocs org en latest works 我在他们的文档中看到他们使用预先填充的用户列表 我想使用数据库存储的用户列表 但是 我不明白其中的一些
  • Xdebug V3 不会停止 VSCode 中的断点

    我正在尝试使用 VSCode 在 XAMPP 上进行调试 但没有成功 我知道有很多关于这个的问题 我已经尽了一切努力 但仍然行不通 我的 xdebug 扩展确实有一件奇怪的事情 我目前使用 PHP v7 4 12 和 Xdebug 版本 3
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • PDO PHP 连接,致命错误

    我的连接类 firstcode php class DB functions public db function construct try db new PDO mysql localhost dbname xxx charset ut
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • Bugzilla 中分离客户端的基本权限

    我正在尝试配置一个 Bugzilla 实例 这将允许我的客户登录并为其正在开发 维护的网站提交错误 例如 我创建了 2 个名为 TestProject TestProject2 的产品和一个名为 TestClient 的用户 我想要实现的是
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • PHP 中标头的使用

    非常简单的问题 这两个 PHP 版本 5 标头调用中哪一个是 最好的 header Not Modified true 304 header HTTP 1 1 304 Not Modified 我很确定第一个是最多价的 但只是好奇如果在 H
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • PHPUnit - 模拟 S3Client 无法正常工作

    库 aws aws sdk php 2 PHP 版本 PHP 5 4 24 cli 作曲家 json require php gt 5 3 1 aws aws sdk php 2 require dev phpunit phpunit 4
  • 如何从日期中查找该月的最后一天?

    如何在 PHP 中获取该月的最后一天 Given a date 2009 11 23 我要2009 11 30 并给出 a date 2009 12 23 我要2009年12月31日 t返回给定日期所在月份的天数 请参阅的文档date ht

随机推荐

  • Flask 静态文件路由中的变量 [url_for('static', filename='')] [重复]

    这个问题在这里已经有答案了 我正在制作一个简单的音乐应用程序 我想允许用户上传他们的音频文件 并且我有一个页面 我计划在其中显示所有歌曲 我创建了一个模板 结构如下 for song in songs div class chart ite
  • 使用自定义日期初始化 NSDate

    我正在寻找类似的东西 NSDate date NSDate alloc initWithYear 1984 month 10 Day 8 有没有办法做这样的事情 Thanks 我为此任务编写了一个类别 NSDate 缺少很多有用的方法 in
  • android 中如何检测用户存在?

    我知道在 Galaxy Samsung SIII 中可以在设置中配置一个选项 以避免用户在查看屏幕时屏幕关闭 我认为手机使用摄像头或某种存在传感器 是否可以通过编程来完成 即使可以 某些设备也无法做到这一点 我在这里想象一些可能性 使用相机
  • 如何自动更新使用 Inno Setup 安装的应用程序

    我有一个适用于 Windows 的可执行应用程序 setup exe 是我使用基于 Java 的 Launch4j Inno Setup 实现的 我经常频繁发布新版本和错误修复 我想知道是否有自动安装更新的机制 Inno Setup 没有任
  • 主机名的有效字符?

    主机名的有效字符是什么 这类似于联网计算机或网络域 具体来说 我正在编写一个连接到远程服务器的 PC 游戏 所以我有一个主机名字段和一个端口字段 显然 端口是短范围内的数字 但我需要知道所有可能的主机名字符是什么 以及可能需要的任何其他模式
  • DocumentDB REST API - 授权令牌错误

    Problem 每当我们请求列表或查询时 我们都会看到从 DocumentDB REST API 返回此错误 但当我们按名称 ID 获取对象时则不会 输入的授权令牌无法满足请求 请检查预期的有效负载是否按照协议构建 并检查正在使用的密钥 背
  • 使用 PLSQL 发送电子邮件

    我想使用 PL SQL 通过 gmail 或 yahoo 主机发送电子邮件 我在 google 中搜索并找到 SMT Mail 包 但它对我不起作用 请问有人可以指导我如何实现这一目标吗 CREATE OR REPLACE PROCEDUR
  • IE 10 和 11 使固定背景在使用鼠标滚轮滚动时跳跃

    当您在 Windows 8 中滚动鼠标滚轮时 固定的背景图像会疯狂地弹跳 这仅影响 IE 10 和 IE 11 这会影响以下元素position fixed以及 这是一个具有固定背景图像的示例 http www catcubed com t
  • Celery 任务优先级

    我想使用 Celery 管理任务 我想要一个任务队列 并发性为1 并且能够将任务推送到具有不同优先级的队列中 这样优先级较高的任务将抢占其他任务 我将三个任务添加到队列中 如下所示 添加任务 py from tasks import exa
  • 可变长度数组类型的 Sizeof 运算符

    根据参考参数 http en cppreference com w c language sizeof 如果类型为表达 is a 变长数组 type 表达被评估并计算其求值的数组的大小 在运行时 这意味着 如果类型表达是一个VLA类型 那么
  • jsp缓存标签库

    我想缓存 JSP 页面的某些部分 因为渲染起来很繁重 整个页面无法缓存 因为它包含用户特定的内容 但大部分页面可以 我认为最好的解决方案是创建一个 JSP 缓存标记 似乎有几种解决方案 但大多数项目都已死亡或被放弃 http www ope
  • 如何使用 FosRestBundle 公开函数结果?

    我正在使用 Symfony2 和 FosRestBundle 为我们的系统开发 REST API FosRestBundle 是一个非常好的工具 但它似乎有一个限制 只有属性 私有 受保护和公共 可以暴露给 API 我想公开一个基于其他两个
  • 在 Python 中将 UTF-8 转换为字符串文字

    我有一个 UTF 8 格式的字符串 但不太确定如何将此字符串转换为其相应的字符文字 例如我有字符串 我的字符串是 Entre xc3 xa9 示例一 这段代码 u Entre xc3 xa9 encode latin 1 decode ut
  • Tkinter 复选框/组合框下拉列表

    我正在尝试用 Python 创建一个后处理数据应用程序 并使用 Tkinter 为其设计 GUI 我不知道 Tkinter 是否支持由复选框组成的下拉列表 然后您可以从中选择多个框 下图反映了我试图描述的内容 这可能吗 这并不完全是您想要的
  • .NET 中的视频会议

    我正在向我们的一款软件添加聊天功能 我已经使用 WCF 启动并运行了聊天功能 我正在考虑尝试使用 WCF 再次添加视频聊天功能 基本上我将发送视频流 而不是发送客户端消息 我想知道是否有人用 WCF 做过这个 是否非常推荐使用 WCF 来执
  • 有没有办法在 Perl 中使用“常量”作为哈希键?

    有没有办法使用常量作为哈希键 例如 use constant X gt 1 my x X gt X 上面的代码将创建一个以 X 作为键而不是 1 作为键的哈希 然而 我想使用常量 X 的值作为键 use constant实际上制作了常量子程
  • Ruby Openid 连接库与客户端消费示例

    我正在寻找 ruby openid connect 客户端库以及使用它的直接代码示例 我找到了一个图书馆here https github com nov openid connect它的示例基于 Rails 但我对 Rails 不太熟悉
  • 为什么linux在内核代码持有自旋锁后禁用内核抢占?

    我是 Linux 新手 正在阅读 Rubini Corbet 撰写的 Linux 设备驱动程序书籍 我对与以下相关的一项声明感到困惑spinlocks 书中指出 如果非抢占式单处理器系统曾经进入 旋转一把锁 它会永远旋转 没有其他线程能够获
  • Java字符串搜索忽略重音符号

    我正在尝试为我的应用程序编写一个过滤函数 该函数将采用输入字符串并过滤掉以某种方式与给定输入不匹配的所有对象 最简单的方法是使用 String 的 contains 方法 即仅检查对象 对象中的 String 变量 是否包含过滤器中指定的字
  • 在 WHERE 子句中使用 mysql concat() ?

    我想搜索我的表 其中包含一列名字和一列姓氏 我目前接受一个字段中的搜索词 并将其与两列进行比较 一次一个 select from table where first name like search term or last name li