Solved

SQL URL-ENCODE finction

Posted on 2004-09-07
3
4,046 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Via a live example, show how to extract information from SQL Server on Database, Connection and Server properties
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

733 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