【问题标题】:Get records from mysql, if we enter without space but we get the records with space从mysql获取记录,如果我们输入没有空格但我们得到的记录有空格
【发布时间】:2017-06-20 10:19:24
【问题描述】:

这是我的桌子

id    姓名            年龄

1     大卫·拉杰             25
2    Md saleem           30

将值发送到不带空格的 where 子句,但我们希望结果带有空格。
这是我的查询。

Select * from table where 'name' = "davidraj"

得到这样的结果

id   姓名   年龄
1   大卫·拉杰 25

【问题讨论】:

标签: mysql


【解决方案1】:

您可以使用类似查询获得带间距的结果,请查看下面的查询,

SELECT * FROM table WHERE 'name' LIKE "david%";

这将返回以david开头的名称,您可以根据需要获得结果。

【讨论】:

  • 您的查询将返回以 david 结尾的名称。它不会返回以 david 开头的名称
【解决方案2】:
SELECT * FROM table 
where 
REPLACE(name,' ','') =  'davidraj'

【讨论】:

    【解决方案3】:

    用户LIKE 操作员找到想要的结果。

    SELECT *  FROM table where REPLACE(name, ' ', '')  LIKE '%davidraj%'
    

    更多信息请访问。

    https://www.w3schools.com/sql/sql_like.asp

    http://www.w3resource.com/mysql/string-functions/mysql-replace-function.php

    【讨论】:

      【解决方案4】:

      如果您想使用名称的第一部分获取结果,请使用 like which 将匹配 david 和所有文本,以便您的结果将检查 david_test1、david_raj 等

      SELECT * FROM table WHERE 'name' LIKE "david%";
      

      如果您想使用全名获取结果,则删除空格然后选择原因替换功能从 david raj 中删除空间并制作 davidraj,以便您可以轻松获得结果

      SELECT * FROM table WHERE replace(name,' ','') = "davidraj"; 
      

      更多信息

      http://www.w3resource.com/mysql/string-functions/mysql-replace-function.php

      【讨论】:

        【解决方案5】:
        SELECT * FROM table WHERE replace(name,' ','')= 'davidraj'; 
        

        注意:它不能保证正确的结果,例如如果您搜索“david”,它将返回“d avid”和“david”

        【讨论】:

        • 查询已修改
        猜你喜欢
        • 1970-01-01
        • 2013-02-13
        • 1970-01-01
        • 1970-01-01
        • 2019-07-29
        • 1970-01-01
        • 2012-03-19
        • 2021-12-20
        • 2015-08-18
        相关资源
        最近更新 更多