日期:2014-05-17  浏览次数:20343 次

存储过程,判断传入值的格式为 数字+字母
最近要批量导入数据,写了一个存储过程,


Create PROCEDURE [dbo].[cpUpload]
(
@Prefix varchar(10)
)

想判断@Prefix值为 数字+字母,不能包含其他字符比如:/ ~ % & ^

请教下

------解决方案--------------------
先把字符串转成一个个的ASCII码,然后查看大小
数字是从 48 ~57
字母是从 大写 65~90 小写 97~122
------解决方案--------------------
if patindex('%[^0-9a-Z]%',@Prefix)>0
print N'包含其他字符'
------解决方案--------------------

create proc tracy_test
(
@Prefix varchar(20)
)
as
if patindex('%[^0-9a-Z]%',@Prefix)>0
select 'error'
else
select 'right'

exec tracy_test 'sdhfgasdj2133^^'
--error

exec tracy_test 'sdhfgasdj2133'
--right