【数据库SQL】查找特殊字符语句的使用案例
2017-01-03 13:00
411 查看
--针对商品货号-商品为字母数字和下划线组成--
--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
--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
相关文章推荐
- mariadb 二进制启动报错,Can't find messagefile '/usr/local/mysql/share/mysql/errmsg.sys'
- 【数据库SQL】创建SQL视图的使用案例
- SQLZOO MORE JOIN OPERATION
- mysql-cluster-gpl-7.5.4双管理节点 部署及使用haproxy+keepalived做负载均衡
- redis学习(一)redis+spring
- 【数据库SQL】SQL存储过程使用案例
- oracle创建表,字段有特殊关键字的处理
- 【数据库SQL】数据库修复,DBCC(常规正常修复)
- Mysql命令alter add:增加表的字段
- 【数据库SQL】修复数据库BCP修复(导出导入的做法)
- 【数据库SQL】批量更新促发器游标的方法
- MySQL 常见函数
- oracle Entity db.Database.SqlQuery ORA-01843: 无效的月份
- 采用oracle 11g过程发邮件 和群发邮件
- 数据库
- 深度学习数据库
- 工作总结--sql子查询
- 记录在Windows上安装和使用Oracle数据库过程中的坑
- DB2错误信息SQLCODE SQLSTATE (按sqlcode排序)
- 欢迎使用CSDN-markdown编辑器