Solved

SQL URL-ENCODE finction

Posted on 2004-09-07
3
3,974 Views
Last Modified: 2012-06-27
Hi,

I need a URL-ENCODE function in SQL which will return a URL safe version of the value passed, e.g.:

Mickey Mouse becomes Mickey%20Mouse

I would take me a while to get this absolutely right and I don't have the time, so if someone has one I'll swap it for 500pts and an A grade.

Regards

bukko
0
Comment
Question by:bukko
3 Comments
 
LVL 11

Accepted Solution

by:
Otana earned 500 total points
ID: 11995124
Try this one:

CREATE FUNCTION udfURLencode (@String nvarchar(4000))  
RETURNS nvarchar(4000) AS  
BEGIN

  DECLARE @ReturnString nvarchar(4000)

  SET @ReturnString = replace(replace(replace(replace(replace(replace(replace(@String,'%','%25'),'+','%20'),' ','%20'),'/','%2F'),'?','%25'),'#','%23'),'&','%26')

  RETURN @ReturnString

END
0
 
LVL 6

Expert Comment

by:OlegP
ID: 11995196
CREATE FUNCTION DBO.URL_ENCODE (@A VARCHAR(8000))  
RETURNS VARCHAR(8000)  AS  
BEGIN
DECLARE @I AS INT
DECLARE @F AS INT

SET @A=LTRIM(RTRIM(@A))
SET @I=1
SET @F=0
IF LEN(@A)>1
  WHILE @I<>LEN(@A)
    BEGIN
      IF SUBSTRING(@A,@I,1)=' '
       IF @F=0
           BEGIN
             SET @A=STUFF (@A,@I,1,'%20')
             SET @I=@I+2
             SET @F=1
           END
       ELSE
       IF @F=1
             SET @F=0
      SET @I=@I+1
    END
SET @A=REPLACE(@A,' ','')
RETURN @A
END
0
 
LVL 8

Author Comment

by:bukko
ID: 11995625
Excellent - short and works great.

bukko
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction SQL Server Integration Services can read XML files, that’s known by every BI developer.  (If you didn’t, don’t worry, I’m aiming this article at newcomers as well.) But how far can you go?  When does the XML Source component become …
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question