在列的一部分进行SQL搜索

3
假设我有多个由6个字母或数字组成的字符串:abc123abc231abc456cba123bac231bac123
基本上我想要一个选择语句,它可以搜索并列出所有符合关键字“abc”的实例。
我只需要一个能够列出所有包含关键字"abc"的实例的选择语句。
4个回答

4
使用LIKE和通配符%
SELECT *
FROM yourtable
WHERE yourfield LIKE '%abc%'

输入

yourfield
abc123
abc231
abc456
cba123
bac231
bac123

输出:

yourfield
abc123
abc231
abc456

SQL Fiddle:


@MahmoudGamal 请看问题的最后一句话。 - Richard
搞定了,通配符正是我在寻找的。非常感谢。 - Tfouts
1
如果您只想匹配以“abc”开头的值,则搜索LIKE 'abc%'将能够在该列上使用索引,并且可能会更快,而LIKE'% abc%'则不会。 - Matt Gibson

0

在 SQL 中,您可以使用 LIKE 运算符。

  • 以...开始的情况

Select * From Table Where Column LIKE 'abc%';

  • 以...结束的情况

Select * From Tablo Where Column Like '%abc';

  • 包含...的情况

Select * From Table Where Column LIKE '%abc%';

因此,如果您想在 LIKE 条件中使用转义字符,则必须对条件进行小修改。

  • 例如:

    SELECT * FROM Table WHERE column LIKE '!%' escape '!';

更多信息请参见 此处


0

你可以试试这种方式

SELECT *
    FROM yourtable
    WHERE field LIKE '%a%' Or field LIKE '%b%' Or field LIKE '%c%'

0
 Select * from tablename
  where yourfield like 'yourconstantcharacters%'

是的,这就是正确的语法,谢谢。Matt称'%'为通配符,这也是我正在寻找的。谢谢大家! - Tfouts

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接