【问题标题】:search by the name without including space or with space按名称搜索,不包括空格或空格
【发布时间】:2015-10-27 23:26:11
【问题描述】:

用户保存在数据库ahmedhatem

SELECT personal_data.fname
    FROM
    personal_data
    WHERE
    ( personal_data.fname  LIKE '%ahmed hatem%' or
    Replace(ahmed hatem , ' ', '')
      LIKE '%ahmed hatem%' 

当我使用ahmedhatem 时,结果进展顺利 但我需要这个 sql 来找到 ahmedhatem
我能做些什么 ? 我尝试使用

personal_data.fname 
  LIKE '%ahmed hatem%' 

但它不起作用

【问题讨论】:

    标签: mysql


    【解决方案1】:

    使用此TRIM 函数删除所有空格

    【讨论】:

      【解决方案2】:

      您可以将百分号标记为“任意数量的任意字符”

      SELECT personal_data.fname
      FROM
      personal_data
      WHERE
       personal_data.fname  LIKE '%ahmed%hatem%'
      

      【讨论】:

      • 但是我需要做这个 LIKE '%ahmed%hatem%' 但是从文本字段中它会是 LIKE '%$name%' 我可以这样做吗?
      【解决方案3】:

      这个问题已经被问过了。 How to remove leading and trailing whitespace in a MySQL field? 你可以使用TRIM()函数。

      【讨论】:

      • 但我需要从结果中删除来自表单提交的空格 .. 并用 $name 更改 ahmed hatem,这意味着如果用户开始搜索 ahmed hatem 并将 tha 数据库中的名称保存为ahmedhatem 他可以找到它.. 我试过修剪,但我没有得到结果
      • 这对我有用 SELECT * FROM 'personal_data' WHERE fname LIKE replace('ahmed hatem', ' ','') 你甚至可以添加 % SELECT * FROM 'personal_data' WHERE fname LIKE replace('%med hatem', ' ','')
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      相关资源
      最近更新 更多