【数据库SQL】查找特殊字符语句的使用案例

这篇博客展示了如何使用SQL语句查找那些由字母、数字和下划线以外的特殊字符组成的商品货号。通过创建临时表并进行循环判断,筛选出不符合规定格式的货号。

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

--针对商品货号-商品为字母数字和下划线组成--
--95 _
--65-90  A-Z
--97-122 a-z
--48-57  0-9


create table #tab_item_no(t_id decimal(18,0) identity(1,1),item_no varchar(40))
create table #tab_item_no_rtn(t_id decimal(18,0) identity(1,1),item_no varchar(40))
declare @ll_count decimal(18,0),@ll_len int,@ll_ascii int,@ls_item_no varchar(40)


insert into #tab_item_no
select item_no from t_bd_item_info with(nolock)
set @ll_count = 0
select @ll_count = count(*) from #tab_item_no
while @ll_count > 0
begin
set @ls_item_no = ''
select @ls_item_no = item_no from #tab_item_no where t_id = @ll_count

set @ll_len = 0
set @ll_len = LEN(@ls_item_no)
while @ll_len > 1
begin
set @ll_ascii = ascii(substring(@ls_item_no,@ll_len,1))
if not ((@ll_ascii >= 65 and @ll_ascii <= 90) or (@ll_ascii >= 97 and @ll_ascii <= 122) or (@ll_ascii >= 48 and @ll_ascii <= 57) or @ll_ascii = 95 )
begin
insert into #tab_item_no_rtn
select item_no from #tab_item_no where t_id = @ll_count
set @ll_len = 0
end
else
set @ll_len = @ll_len - 1
end
set @ll_count = @ll_count - 1
end
select *,'含特殊字符的货号' from #tab_item_no_rtn
drop table #tab_item_no
drop table #tab_item_no_rtn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值