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

SQL中如何在DECLARE声明语句中仅输入字符串前4位实现匹配查询

可以通过SQL的LIKE关键字加通配符实现该需求,你只需要调整WHERE条件的匹配逻辑即可,修改后的代码如下:

declare @campaignNo varchar(60)
-- 仅传入前4位数字即可
set @campaignNo = '0029'

Select Count(PUR1.intTimestamp) AS #start
From [MicrobialScreening].[dbo].[PUR_IDs] as ID 
INNER JOIN [MicrobialScreening].[dbo].[PUR_Purification1] AS PUR1 
   ON id.intID=pur1.intID
-- 用LIKE前缀匹配,%为通配符,匹配任意长度的任意后续字符
where id.strCampaign LIKE @campaignNo + '%'

补充说明

  • 代码里的%是SQL标准通配符,代表匹配0个或多个任意字符,刚好满足「strCampaign前4位等于传入值、后续内容任意」的匹配要求
  • 如果需要严格限制前4位后必须有其他内容,可以把匹配规则改为@campaignNo + '_%',下划线代表匹配1个任意字符,避免匹配到只有4位长度的strCampaign值。如果下划线是你实际业务中第5位的固定字符,需要转义的话可以写成@campaignNo + '\_%' ESCAPE '\'
  • 前缀匹配的LIKE语句可以用到strCampaign字段的索引,不会出现全表扫描的性能问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:06:03