[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

SQL URL-ENCODE finction

Posted on 2004-09-07
3
Medium Priority
?
4,310 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 2000 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
An alternative to the "For XML" way of pivoting and concatenating result sets into strings, and an easy introduction to "common table expressions" (CTEs). Being someone who is always looking for alternatives to "work your data", I came across this …
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.
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed
Suggested Courses

868 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