1
を印刷することができません:関数の実行。私は最近、stackoverflowの中で次の関数に出くわした出力
CREATE FUNCTION dbo.UrlDecode(@url varchar(3072))
RETURNS varchar(3072)
AS
BEGIN
DECLARE @count int, @c char(1), @cenc char(2), @i int, @urlReturn varchar(3072)
SET @count = Len(@url)
SET @i = 1
SET @urlReturn = ''
WHILE (@i <= @count)
BEGIN
SET @c = substring(@url, @i, 1)
IF @c LIKE '[!%]' ESCAPE '!'
BEGIN
SET @cenc = substring(@url, @i + 1, 2)
SET @c = CHAR(CASE WHEN SUBSTRING(@cenc, 1, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 1, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 1, 1)))-55 as int)
END * 16 +
CASE WHEN SUBSTRING(@cenc, 2, 1) LIKE '[0-9]'
THEN CAST(SUBSTRING(@cenc, 2, 1) as int)
ELSE CAST(ASCII(UPPER(SUBSTRING(@cenc, 2, 1)))-55 as int)
END)
SET @urlReturn = @urlReturn + @c
SET @i = @i + 2
END
ELSE
BEGIN
SET @urlReturn = @urlReturn + @c
END
SET @i = @i +1
END
RETURN @urlReturn
END
GO
I am trying to pass the following URL as an input to get the decoded URL as output using the following command:
DECLARE @urlReturn nvarchar(3072);
EXEC dbo.UrlDecode2 @url = 'https%3a%2f%2fin.mathworks.com';
PRINT @urlReturn;
GO
は、最初は次のことを試してみました:
exec dbo.UrlDecode2 @url = 'https%3a%2f%2fin.mathworks.com';
go
機能はURLでエンコードされた部分をデコード。私はPL/SQLの全く新しいものです。誰かが私がどこに間違っているのか、デコードされたURLを印刷する方法を教えてもらえますか?
内に正しくコードをフォーマットしてください。各行を4つのスペースでインデントするか、コードを強調表示してCtrl + Kを押すことで行えます。 – Carcigenicate
コードは明らかにSQL Serverであり、PL/SQLタグを削除しました。実際にOracleを使用している場合は、別の機能を使用する必要があります。 –