SQL Server字符串各种查询

本文介绍了多种实用的SQL查询技巧,包括如何检查一个值是否存在于逗号分隔的字段中、如何定位特定字符在字符串中的位置、如何判断字符串中是否包含中文字符、如何随机选取数据记录及如何查找自增ID中的断号情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、查询某值是否在以逗号隔开字段内


charindex(','+@查詢字符+',',',+@某個字符串或字段+',')>0

SELECT COUNT(1) FROM [tb] where charindex(',2,',','+[ rolesGroup]+',')>0
二、查询方括号或者小口号中间包含某个字符的

例如:

形如:模糊[模糊01模糊]模糊
charindex('[',[Content])<charindex('01',[Content]) and charindex('01',[Content])<charindex(']',[Content])  and charindex('[',[Content])>0
三、查询判断字符串包含中文

PATINDEX('%[啊-座]%',[Name])>0 或

PATINDEX('%[吖-座]%',[Name])>0

四、随机查询N条数据
select top 10 * from tb order by newid()
五、获取自增ID缺失号

select id+1 from [KQ] t where not exists (select 1 from [KQ] where id=t.id+1) and t.id< (select max(id) from [KQ])  order by id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值