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

SQL Server 2022如何精准筛选前缀为'Chain'的产品数据?

筛选名称为'Chain'或以'Chain '开头的SQL Server记录

你当前的LIKE 'Chain%'会匹配所有以Chain开头的字符串,不管后续字符是空格还是其他内容,所以Chainring这类也被包含进来了。要得到你期望的结果,需要精准匹配两种情况:要么名称就是Chain,要么名称以Chain (注意末尾的空格)开头。

以下是几种可行的实现方式:

方法一:用OR组合精确匹配和前缀匹配

这是最直观的写法,直接明确筛选条件:

SELECT ProductID, Name
FROM Production.Product
WHERE Name = 'Chain' 
   OR Name LIKE 'Chain %';
  • Name = 'Chain' 匹配完全等于Chain的记录
  • Name LIKE 'Chain %' 匹配以Chain (带空格)开头的记录,这样就能排除Chainring这类后面直接跟非空格字符的情况

方法二:通过字符串位置判断

利用字符串函数判断Chain之后的字符要么不存在(即字符串长度等于5),要么是空格:

SELECT ProductID, Name
FROM Production.Product
WHERE LEFT(Name, 5) = 'Chain'
  AND (LEN(Name) = 5 OR SUBSTRING(Name, 6, 1) = ' ');
  • LEFT(Name,5) = 'Chain' 确保前5个字符是Chain
  • LEN(Name)=5 对应名称就是Chain的情况
  • SUBSTRING(Name,6,1)=' ' 对应第6个字符是空格的情况

执行上述任意一种语句,就能得到你期望的结果:

ProductID      Name
-------------------------
   952         Chain
   324         Chain Stays

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 02:33:10