为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 MySQL 中搜索包含两个或多个由空格分隔的单词的字符串字段?

如何在 MySQL 中搜索包含两个或多个由空格分隔的单词的字符串字段?

PHP
回首忆惘然 2021-12-24 09:26:07
我有一些旧的数据库,我没有对通过 Web PHP 表单插入名称设置一些限制。现在我把它们放在那里只有一个词,而不是两个或更多。在该数据库中经过多年之后现在有 10 000 行。数据库中的示例字段:“John Doe Blue” 使用新规则用户只能填写“JohnDoeBlue”有什么方法可以选择我的名称在该字符串字段中不仅包含单个单词而且包含多个单词的所有情况?我的新功能可以防止字段中出现错误或多个单词:  public function wrongName($name)  {    return !preg_match("/^[a-zA-Z0-9]{3,20}$/", $name);  }如何从数据库中选择所有不满足此功能但已存在于数据库中的案例?
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

如果您想从包含此类数据的列中删除任何空格,"John Doe Blue"您需要做的就是


UPDATE table SET column = REPLACE(column, ' ','');

如果您想在更新之前检查您是否只获得了您想要的行,请尝试


SELECT column, REPLACE(column, ' ','') as potentialNewColumn

FROM table 

WHERE INSTR(column, ' ') > 0 ;


查看完整回答
反对 回复 2021-12-24
?
Qyouu

TA贡献1786条经验 获得超11个赞

以下查询可用于替换和搜索。

select * from table where REPLACE (column,' ','') like '%your value%':


查看完整回答
反对 回复 2021-12-24
  • 2 回答
  • 0 关注
  • 277 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信