<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: SQL SERVER &#8211; Check If String is a Palindrome in Using T-SQL Script &#8211; Reverse Function</title>
	<atom:link href="http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/</link>
	<description>Personal Notes of Pinal Dave</description>
	<lastBuildDate>Fri, 17 May 2013 15:26:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: harsh</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433895</link>
		<dc:creator><![CDATA[harsh]]></dc:creator>
		<pubDate>Fri, 08 Mar 2013 12:43:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433895</guid>
		<description><![CDATA[My earlier solution was not properly posted due to greater than sign.



DECLARE @PalinString VARCHAR(256)
SET @PalinString= &#039;A man, a plan, a canal – Panama!&#039;
DECLARE @I INT
DECLARE @J INT
SET @I=1
SET @J= LEN(@PalinString)
DECLARE @RESULT AS VARCHAR(20)
SET @RESULT=&#039;Palindrome&#039;
DECLARE @A INT
DECLARE @B INT
WHILE (@J&gt;@I)
BEGIN
	SET @A=ASCII(UPPER(SUBSTRING(@PalinString,@I,1)))
	SET @B=ASCII(UPPER(SUBSTRING(@PalinString,@J,1)))
	IF NOT((@A&gt;=48 AND 57&gt;=@A) OR (@A&gt;=65 AND 90&gt;=@A))
	BEGIN
		SET @I=@I+1
		CONTINUE
	END
	IF NOT((@B&gt;=48 AND 57&gt;=@B) OR (@B&gt;=65 AND 90&gt;=@B))
	BEGIN
		SET @J=@J-1
		CONTINUE
	END
	IF @A!=@B
	BEGIN
		SET @RESULT= &#039;Not Palindrome&#039;
		BREAK
	END
	SET @I=@I+1
	SET @J=@J-1
END
PRINT @RESULT]]></description>
		<content:encoded><![CDATA[<p>My earlier solution was not properly posted due to greater than sign.</p>
<p>DECLARE @PalinString VARCHAR(256)<br />
SET @PalinString= &#8216;A man, a plan, a canal – Panama!&#8217;<br />
DECLARE @I INT<br />
DECLARE @J INT<br />
SET @I=1<br />
SET @J= LEN(@PalinString)<br />
DECLARE @RESULT AS VARCHAR(20)<br />
SET @RESULT=&#8217;Palindrome&#8217;<br />
DECLARE @A INT<br />
DECLARE @B INT<br />
WHILE (@J&gt;@I)<br />
BEGIN<br />
	SET @A=ASCII(UPPER(SUBSTRING(@PalinString,@I,1)))<br />
	SET @B=ASCII(UPPER(SUBSTRING(@PalinString,@J,1)))<br />
	IF NOT((@A&gt;=48 AND 57&gt;=@A) OR (@A&gt;=65 AND 90&gt;=@A))<br />
	BEGIN<br />
		SET @I=@I+1<br />
		CONTINUE<br />
	END<br />
	IF NOT((@B&gt;=48 AND 57&gt;=@B) OR (@B&gt;=65 AND 90&gt;=@B))<br />
	BEGIN<br />
		SET @J=@J-1<br />
		CONTINUE<br />
	END<br />
	IF @A!=@B<br />
	BEGIN<br />
		SET @RESULT= &#8216;Not Palindrome&#8217;<br />
		BREAK<br />
	END<br />
	SET @I=@I+1<br />
	SET @J=@J-1<br />
END<br />
PRINT @RESULT</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CHANDU</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433836</link>
		<dc:creator><![CDATA[CHANDU]]></dc:creator>
		<pubDate>Fri, 08 Mar 2013 10:34:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433836</guid>
		<description><![CDATA[Hi Sanjay,

For that you have to use NVARCHAR...
See this 
select REPLACE(N&#039;ટેબલ&#039;, &#039; &#039;, &#039;&#039;) , REVERSE(REPLACE(N&#039;ટેબલ&#039;, &#039; &#039;, &#039;&#039;))]]></description>
		<content:encoded><![CDATA[<p>Hi Sanjay,</p>
<p>For that you have to use NVARCHAR&#8230;<br />
See this<br />
select REPLACE(N&#8217;ટેબલ&#8217;, &#8216; &#8216;, &#8221;) , REVERSE(REPLACE(N&#8217;ટેબલ&#8217;, &#8216; &#8216;, &#8221;))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: harsh</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433684</link>
		<dc:creator><![CDATA[harsh]]></dc:creator>
		<pubDate>Fri, 08 Mar 2013 04:26:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433684</guid>
		<description><![CDATA[REVERSE &amp; Removing spaces is a better option. I have written one solution, which will consider only alphabets &amp; digits . So, it will ignore space,exclamation mark ,comma etc.


DECLARE @PalinString VARCHAR(256) 
SET @PalinString= &#039;A man, a plan, a canal – Panama!&#039;
DECLARE @I INT
DECLARE @J INT
SET @I=1
SET @J= LEN(@PalinString)
DECLARE @RESULT AS VARCHAR(20)
SET @RESULT=&#039;Palindrome&#039;
DECLARE @A INT
DECLARE @B INT
WHILE (@I=48 AND @A=65 AND @A=48 AND @B=65 AND @B&lt;= 90))
	BEGIN
		SET @J=@J-1
		CONTINUE
	END
	IF @A!=@B
	BEGIN
		SET @RESULT= &#039;Not Palindrome&#039;
		BREAK
	END
	SET @I=@I+1
	SET @J=@J-1
END
PRINT @RESULT

--Result is Palindrome]]></description>
		<content:encoded><![CDATA[<p>REVERSE &amp; Removing spaces is a better option. I have written one solution, which will consider only alphabets &amp; digits . So, it will ignore space,exclamation mark ,comma etc.</p>
<p>DECLARE @PalinString VARCHAR(256)<br />
SET @PalinString= &#8216;A man, a plan, a canal – Panama!&#8217;<br />
DECLARE @I INT<br />
DECLARE @J INT<br />
SET @I=1<br />
SET @J= LEN(@PalinString)<br />
DECLARE @RESULT AS VARCHAR(20)<br />
SET @RESULT=&#8217;Palindrome&#8217;<br />
DECLARE @A INT<br />
DECLARE @B INT<br />
WHILE (@I=48 AND @A=65 AND @A=48 AND @B=65 AND @B&lt;= 90))<br />
	BEGIN<br />
		SET @J=@J-1<br />
		CONTINUE<br />
	END<br />
	IF @A!=@B<br />
	BEGIN<br />
		SET @RESULT= &#039;Not Palindrome&#039;<br />
		BREAK<br />
	END<br />
	SET @I=@I+1<br />
	SET @J=@J-1<br />
END<br />
PRINT @RESULT</p>
<p>&#8211;Result is Palindrome</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sanjay Monpara</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433436</link>
		<dc:creator><![CDATA[Sanjay Monpara]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 14:49:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433436</guid>
		<description><![CDATA[DECLARE @PalinString VARCHAR(256) 
SET @PalinString  = &#039;ટેબલ&#039;

SELECT CASE WHEN REPLACE(@PalinString, &#039; &#039;, &#039;&#039;) = REVERSE(REPLACE(@PalinString, &#039; &#039;, &#039;&#039;))
THEN &#039;Palindrome&#039;
ELSE &#039;Not Palindrome&#039; END AS [Answer]
GO

This is showing &#039;ટેબલ&#039; is Palindrome
because output of query,
select REPLACE(&#039;ટેબલ&#039;, &#039; &#039;, &#039;&#039;) , REVERSE(REPLACE(&#039;ટેબલ&#039;, &#039; &#039;, &#039;&#039;))
is
????	????]]></description>
		<content:encoded><![CDATA[<p>DECLARE @PalinString VARCHAR(256)<br />
SET @PalinString  = &#8216;ટેબલ&#8217;</p>
<p>SELECT CASE WHEN REPLACE(@PalinString, &#8216; &#8216;, &#8221;) = REVERSE(REPLACE(@PalinString, &#8216; &#8216;, &#8221;))<br />
THEN &#8216;Palindrome&#8217;<br />
ELSE &#8216;Not Palindrome&#8217; END AS [Answer]<br />
GO</p>
<p>This is showing &#8216;ટેબલ&#8217; is Palindrome<br />
because output of query,<br />
select REPLACE(&#8216;ટેબલ&#8217;, &#8216; &#8216;, &#8221;) , REVERSE(REPLACE(&#8216;ટેબલ&#8217;, &#8216; &#8216;, &#8221;))<br />
is<br />
????	????</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fabrizio Faleni</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433406</link>
		<dc:creator><![CDATA[Fabrizio Faleni]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 13:31:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433406</guid>
		<description><![CDATA[Thanks Pinal! 
Not only you&#039;ll have to remove punctuation marks but also remove accents in all the languages that use them (which are a lot!). For example in this French palindrome &quot;Ainsi Anaïs nia&quot; the umlaut should be removed, such as in the Italian Palindrome &quot;A Natale è la tana&quot; should the grave accent. Do you have a smart solution for this too?
Kind regards!]]></description>
		<content:encoded><![CDATA[<p>Thanks Pinal!<br />
Not only you&#8217;ll have to remove punctuation marks but also remove accents in all the languages that use them (which are a lot!). For example in this French palindrome &#8220;Ainsi Anaïs nia&#8221; the umlaut should be removed, such as in the Italian Palindrome &#8220;A Natale è la tana&#8221; should the grave accent. Do you have a smart solution for this too?<br />
Kind regards!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eduard Uta</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433391</link>
		<dc:creator><![CDATA[Eduard Uta]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 13:01:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433391</guid>
		<description><![CDATA[Hi,

Definitely the REVERSE function does the job much easier but just for fun 
here is an alternative for this &quot;challenge&quot;:

declare @PalinString VARCHAR(256) = &#039;Was it a car or a cat I saw&#039;
declare @wlen	int
declare	@answer	varchar(100)

set		@PalinString = REPLACE(@PalinString, &#039; &#039;, &#039;&#039;)
set		@wlen = LEN(@PalinString)

if @wlen = 0
begin
	set @answer = &#039;Empty. Please add a string&#039;
end
else if @wlen = 1
begin
	set @answer = &#039;One character =&gt; Palindrome&#039;
end
else
begin
	while (@wlen &gt; 1)
	begin
		if LEFT(@PalinString, 1) = RIGHT(@PalinString, 1)
		begin
			set @PalinString = LEFT(@PalinString, LEN(@PalinString)-1)
			set @PalinString = RIGHT(@PalinString, LEN(@PalinString)-1)
			set @wlen = LEN(@PalinString)
			set @answer = &#039;Palindrome&#039;
		end
		else
		begin
			set @answer = &#039;Not Palindrome&#039;
			set @wlen = 0
		end
	end
end

print &#039;The String is &#039; + @answer
select Answer = @answer
go]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Definitely the REVERSE function does the job much easier but just for fun<br />
here is an alternative for this &#8220;challenge&#8221;:</p>
<p>declare @PalinString VARCHAR(256) = &#8216;Was it a car or a cat I saw&#8217;<br />
declare @wlen	int<br />
declare	@answer	varchar(100)</p>
<p>set		@PalinString = REPLACE(@PalinString, &#8216; &#8216;, &#8221;)<br />
set		@wlen = LEN(@PalinString)</p>
<p>if @wlen = 0<br />
begin<br />
	set @answer = &#8216;Empty. Please add a string&#8217;<br />
end<br />
else if @wlen = 1<br />
begin<br />
	set @answer = &#8216;One character =&gt; Palindrome&#8217;<br />
end<br />
else<br />
begin<br />
	while (@wlen &gt; 1)<br />
	begin<br />
		if LEFT(@PalinString, 1) = RIGHT(@PalinString, 1)<br />
		begin<br />
			set @PalinString = LEFT(@PalinString, LEN(@PalinString)-1)<br />
			set @PalinString = RIGHT(@PalinString, LEN(@PalinString)-1)<br />
			set @wlen = LEN(@PalinString)<br />
			set @answer = &#8216;Palindrome&#8217;<br />
		end<br />
		else<br />
		begin<br />
			set @answer = &#8216;Not Palindrome&#8217;<br />
			set @wlen = 0<br />
		end<br />
	end<br />
end</p>
<p>print &#8216;The String is &#8216; + @answer<br />
select Answer = @answer<br />
go</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eduard Uta</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433389</link>
		<dc:creator><![CDATA[Eduard Uta]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 12:58:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433389</guid>
		<description><![CDATA[Hi,

Definitely the REVERSE function does the job much easier and faster but just for fun I give you an alternative :D

declare @PalinString VARCHAR(256) = &#039;Was it a car or a cat I saw&#039;
declare @wlen	int
declare	@answer	varchar(100)

set		@PalinString = REPLACE(@PalinString, &#039; &#039;, &#039;&#039;)
set		@wlen = LEN(@PalinString)

if @wlen = 0
begin
	set @answer = &#039;Empty. Please add a string&#039;
end
else if @wlen = 1
begin
	set @answer = &#039;One character =&gt; Palindrome&#039;
end
else
begin
	while (@wlen &gt; 1)
	begin
		if LEFT(@PalinString, 1) = RIGHT(@PalinString, 1)
		begin
			set @PalinString = LEFT(@PalinString, LEN(@PalinString)-1)
			set @PalinString = RIGHT(@PalinString, LEN(@PalinString)-1)
			set @wlen = LEN(@PalinString)
			set @answer = &#039;Palindrome&#039;
		end
		else
		begin
			set @answer = &#039;Not Palindrome&#039;
			set @wlen = 0
		end
	end
end

print &#039;The String is &#039; + @answer
select Answer = @answer
go]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Definitely the REVERSE function does the job much easier and faster but just for fun I give you an alternative :D</p>
<p>declare @PalinString VARCHAR(256) = &#8216;Was it a car or a cat I saw&#8217;<br />
declare @wlen	int<br />
declare	@answer	varchar(100)</p>
<p>set		@PalinString = REPLACE(@PalinString, &#8216; &#8216;, &#8221;)<br />
set		@wlen = LEN(@PalinString)</p>
<p>if @wlen = 0<br />
begin<br />
	set @answer = &#8216;Empty. Please add a string&#8217;<br />
end<br />
else if @wlen = 1<br />
begin<br />
	set @answer = &#8216;One character =&gt; Palindrome&#8217;<br />
end<br />
else<br />
begin<br />
	while (@wlen &gt; 1)<br />
	begin<br />
		if LEFT(@PalinString, 1) = RIGHT(@PalinString, 1)<br />
		begin<br />
			set @PalinString = LEFT(@PalinString, LEN(@PalinString)-1)<br />
			set @PalinString = RIGHT(@PalinString, LEN(@PalinString)-1)<br />
			set @wlen = LEN(@PalinString)<br />
			set @answer = &#8216;Palindrome&#8217;<br />
		end<br />
		else<br />
		begin<br />
			set @answer = &#8216;Not Palindrome&#8217;<br />
			set @wlen = 0<br />
		end<br />
	end<br />
end</p>
<p>print &#8216;The String is &#8216; + @answer<br />
select Answer = @answer<br />
go</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Agustin</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433378</link>
		<dc:creator><![CDATA[Agustin]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 12:40:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433378</guid>
		<description><![CDATA[Nice]]></description>
		<content:encoded><![CDATA[<p>Nice</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vishal</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433359</link>
		<dc:creator><![CDATA[Vishal]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 11:34:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433359</guid>
		<description><![CDATA[જા રે બાવા બારેજા ........]]></description>
		<content:encoded><![CDATA[<p>જા રે બાવા બારેજા &#8230;&#8230;..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shorty</title>
		<link>http://blog.sqlauthority.com/2013/03/07/sql-server-check-if-string-is-a-palindrome-in-using-t-sql-script-reverse-function/#comment-433344</link>
		<dc:creator><![CDATA[Shorty]]></dc:creator>
		<pubDate>Thu, 07 Mar 2013 10:54:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.sqlauthority.com/?p=22913#comment-433344</guid>
		<description><![CDATA[Seems valid. Never had this requirement myself, but now that I think about it your function is a good way to do it. Well done,sir! :)]]></description>
		<content:encoded><![CDATA[<p>Seems valid. Never had this requirement myself, but now that I think about it your function is a good way to do it. Well done,sir! :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
