有两个问题:
1.请问怎样判断记录中是否还有特殊字符。
我不知道特殊字符是怎样排序的,有没有个范围,如果有的话,那么类是于
PATINDEX('%[A-Z]%',[user_name])=0,就比较简单了,下面的那个不对:
PATINDEX('%~,!,@,#,$,%,^,&,*,(,),_,+,-,=,`,[,],\,{,},|,;,<,>,/,?,.%',[user_name])=0
如果拆开分别判断,倒是可以,不过那样太麻烦了,应该有好的办法吧?
请各位高手指教。2.在SQLSERVER中这样设置才能定时执行某一存储过程?

解决方案 »

  1.   

    1 再增加union all测试以下语句select *,PATINDEX('%[~!@#$%]%',[user_name]) from (
    select 'a' as [user_name] union all
    select 'a~1' union all 
    select 'a!1' union all 
    select 'a@1' union all 
    select 'a#1' union all 
    select 'a$1' union all 
    select 'a%1' union all 
    select 'a]1' union all 
    select 'a[1' union all 
    select 'b'
    ) as t where
    PATINDEX('%[~!@#$%^&*()_+-=`[\{}|;<>/?.]%',[user_name])=0
    and PATINDEX('%]%',[user_name])=02 看看任务或者job的帮助
      

  2.   

    1.
    PATINDEX('%[~!@#$^&*()_+-=`[\{}|;<>/?.,%',[user_name])=0 AND 
    PATINDEX('%[%]%',[user_name])=0 AND
    PATINDEX('%]%',[user_name])=0
    2.
    创建作业,把存储过程放到作业中,设置作业执行的时间.
      

  3.   

    问题1:写一个函数,循环判断username中的每一个字符是否是非法字符。
    用charindex(字符,'%~,!,@,#,$,%,^,&,*,(,),_,+,-,=,`,[,],\,{,},|,;,<,>,/,?,.%')>0问题2:用数据库作业,定时执行。
      

  4.   

    抱歉,更正一下:
    1.
    PATINDEX('%[~!@#$^&*()_+-=`[\{}|;<>/?.,]%',[user_name])=0 AND 
    PATINDEX('%[%]%',[user_name])=0 AND
    PATINDEX('%]%',[user_name])=0