PDC_REPORT_CreazioneDB/sql/Collaudo/funzioni/C6Mart_CARATTERINONVALIDI.sql
2025-06-10 15:29:00 +02:00

34 lines
1.4 KiB
Transact-SQL

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