﻿CREATE FUNCTION [C6Mart].[CARATTERINONVALIDI]
(
		@text as varchar(max)
)
RETURNS  VARCHAR(1)
AS
BEGIN
   DECLARE @num AS INT
    SET @num = 1
	WHILE @num < LEN(@text)
	 BEGIN
		 IF ASCII(SUBSTRING(@text,@num,1)) < 32   RETURN 'S'-- ' '		 	  
		 IF ASCII(SUBSTRING(@text,@num,1)) = 33   RETURN 'S'-- '!'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 34   RETURN 'S'-- '"'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 35   RETURN 'S'-- '#'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 36   RETURN 'S'-- '$'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 37   RETURN 'S'-- '%'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 38   RETURN 'S'-- '&' 
		 IF ASCII(SUBSTRING(@text,@num,1)) = 42   RETURN 'S'-- '*'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 58   RETURN 'S'-- ':'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 59   RETURN 'S'-- ';'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 60   RETURN 'S'-- '<'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 61   RETURN 'S'-- '='
		 IF ASCII(SUBSTRING(@text,@num,1)) = 62   RETURN 'S'-- '>'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 91   RETURN 'S'-- '['
		 IF ASCII(SUBSTRING(@text,@num,1)) = 92   RETURN 'S'-- '\'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 93   RETURN 'S'-- ']'
		 IF ASCII(SUBSTRING(@text,@num,1)) = 94   RETURN 'S'-- '^' 
		 IF ASCII(SUBSTRING(@text,@num,1)) = 96   RETURN 'S'-- '`'	
		 IF ASCII(SUBSTRING(@text,@num,1)) > 122  RETURN 'S'-- 'z'		 
		 SET @num = @num + 1	   
     END  
	RETURN 'N'
END