You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在数据框中筛选含特定子串的行?现有SQL写法失效

正确筛选包含特定子串的SQL语句

你之前写的SELECT * from MailList where 'ada' in email无法生效,是因为IN运算符的作用是判断目标值是否属于一组离散的固定值(比如WHERE email IN ('a@test.com', 'b@test.com')),不能用来检测字符串中是否包含某个子串。

要筛选出email列中包含ada的所有行,推荐以下几种方法:

  • 通用SQL写法(几乎所有数据库都支持):
    使用LIKE配合通配符%,%代表任意长度的任意字符(包括空字符):

    SELECT * FROM MailList WHERE email LIKE '%ada%';
    
  • 部分数据库的扩展写法:

    • MySQL/MariaDB 可使用正则匹配:
      SELECT * FROM MailList WHERE email REGEXP 'ada';
      
    • PostgreSQL 可使用~正则运算符:
      SELECT * FROM MailList WHERE email ~ 'ada';
      
    • SQL Server 若已创建全文索引,可使用全文搜索:
      SELECT * FROM MailList WHERE CONTAINS(email, 'ada');
      

内容的提问来源于stack exchange,提问作者user19667022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 21:25:41