首页 > 解决方案 > Mysql选择带有concat的列

问题描述

我想在这里更正一下。我想在数据库中选择所有名为 fred 的人

这是我的查询:

SELECT * FROM tdble WHERE CONCAT(name) LIKE CONCAT('%', REPLACE('fred', '')'%')

标签: mysql

解决方案


您可以通过使用通配符运算符“like”语句的“=”运算符来简单地实现您的要求。

如果您希望查找与名称“Fred”完全匹配的所有记录,那么您应该对查询建模:

Select * From tdble Where Name = 'fred'

但是,如果您想获得名称中包含“fred”的所有结果,请使用通配符运算符。

Select * From tdble Where Name like '%fred%'

此外,您还可以对查询进行进一步建模,以了解您希望“fred”以哪种形式出现的确切位置。例如,如果您希望“Fred”作为您的姓名字符串的最后一个字符,例如您希望获得以 fred 结尾的姓名,然后对您的查询建模,如下所示:

Select * From tdble Where Name like '%fred'

(如果您的表中有 alfred,您将获得类似“alfred”的结果)

但是,如果您希望获取所有以 fred 开头的名称,请对查询进行建模,如下所示:

Select * From tdble Where Name like 'fred%'

(如果您的表中有一个 fredinane,您将获得类似“fredinane”的结果)

干杯


推荐阅读