<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ParseName &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/parsename/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Tue, 21 Nov 2017 05:41:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.6</generator>
	<item>
		<title>SQL Puzzle: SQL Advance Query &#8211; Use PARSENAME() and Sort the IP-Addresses</title>
		<link>https://www.dbrnd.com/2017/08/sql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 29 Aug 2017 16:16:22 +0000</pubDate>
				<category><![CDATA[SQL Puzzle]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[ip address]]></category>
		<category><![CDATA[ParseName]]></category>
		<category><![CDATA[SQL Advance Query]]></category>
		<category><![CDATA[SQL Interview]]></category>
		<category><![CDATA[SQL Problem]]></category>
		<category><![CDATA[SQL Programming]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Tips and Tricks]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5997</guid>

					<description><![CDATA[Check the below input data and expected output to sort the IP-Addresses in the correct order. (Use PARSENAME() for splitting the IP-Addresses into four parts and then get the correct sorted result) Input Data: [crayon-6ab55d5416d39785370653/] Expected Output: [crayon-6ab55d5416d3d620182204/] Create a table with data: [crayon-6ab55d5416d3e572759821/] Solution: Using PARSENAME() [crayon-6ab55d5416d3f184464461/] Please try the different solution for this [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&amp;linkname=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F08%2Fsql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses%2F&#038;title=SQL%20Puzzle%3A%20SQL%20Advance%20Query%20%E2%80%93%20Use%20PARSENAME%28%29%20and%20Sort%20the%20IP-Addresses" data-a2a-url="https://www.dbrnd.com/2017/08/sql-puzzle-sql-advance-query-use-parsename-and-sort-the-ip-addresses/" data-a2a-title="SQL Puzzle: SQL Advance Query – Use PARSENAME() and Sort the IP-Addresses"></a></p><p>Check the below input data and expected output to sort the IP-Addresses in the correct order.<br />
(Use PARSENAME() for splitting the IP-Addresses into four parts and then get the correct sorted result)<br />
<strong>Input Data:</strong></p>
<pre class="crayon-plain-tag">IPAddress
---------------
25.120.144.0
16.16.8.8
116.226.0.1
1.240.255.255
1.0.180.160
122.42.1.10
255.255.16.8
120.140.1.2
1.166.10.44</pre> </p>
<p><strong>Expected Output:</strong></p>
<pre class="crayon-plain-tag">IPAddress
---------------
1.0.180.160
1.166.10.44
1.240.255.255
16.16.8.8
25.120.144.0
116.226.0.1
120.140.1.2
122.42.1.10
255.255.16.8</pre> </p>
<p><strong>Create a table with data:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE NetworkData 
( 
	[IPAddress]  VARCHAR(15) 
)
GO

INSERT INTO NetworkData 
VALUES 
('25.120.144.0')
,('16.16.8.8')
,('116.226.0.1')
,('1.240.255.255')
,('1.0.180.160')
,('122.42.1.10')
,('255.255.16.8')
,('120.140.1.2')
,('1.166.10.44')
GO</pre> </p>
<p><strong>Solution: Using PARSENAME()</strong></p>
<pre class="crayon-plain-tag">SELECT [IPAddress] 
FROM NetworkData
ORDER BY CAST(PARSENAME([IPAddress], 4) AS INT)
         ,CAST(PARSENAME([IPAddress], 3) AS INT)
         ,CAST(PARSENAME([IPAddress], 2) AS INT)
         ,CAST(PARSENAME([IPAddress], 1) AS INT)</pre> </p>
<p><strong><code>Please try the different solution for this puzzle and share it via comment...</code></strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Script to Validate IP Address range in SQL Server</title>
		<link>https://www.dbrnd.com/2015/06/validate-ip-address-range-in-sql-server/</link>
					<comments>https://www.dbrnd.com/2015/06/validate-ip-address-range-in-sql-server/#comments</comments>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Mon, 01 Jun 2015 17:24:14 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Check Constraint]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[ip address]]></category>
		<category><![CDATA[ParseName]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<category><![CDATA[validation]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=226</guid>

					<description><![CDATA[In this post, I am sharing a demonstration on how to validate the range of IP Address in SQL Server. You can set CHECK CONSTRAINT for each part of IP Address for validating a proper range. For example, You require inserting IP Address between 10.20 range. This you can achieve using PARSENAME function of SQL [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&amp;linkname=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2015%2F06%2Fvalidate-ip-address-range-in-sql-server%2F&#038;title=Script%20to%20Validate%20IP%20Address%20range%20in%20SQL%20Server" data-a2a-url="https://www.dbrnd.com/2015/06/validate-ip-address-range-in-sql-server/" data-a2a-title="Script to Validate IP Address range in SQL Server"></a></p><p>In this post, I am sharing a demonstration on how to validate the range of IP Address in SQL Server. </p>
<p>You can set CHECK CONSTRAINT for each part of IP Address for validating a proper range.</p>
<p>For example,<br />
You require inserting IP Address between 10.20 range. This you can achieve using PARSENAME function of SQL Server.</p>
<p><strong>Below is a full demo on this:</strong></p>
<p><b>Let&#8217;s first create one table and define CHECK Constraint using PARSENAME.  </b></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_IPAddress
(
 IPAddress VARCHAR(15)
)
GO

ALTER TABLE tbl_IPAddress ADD CONSTRAINT chk_tbl_IPAddress_IPAddress
CHECK 
(
 (ParseName(IPAddress, 4) = 12) 
 AND (ParseName(IPAddress, 3) = 4) 
 AND (ParseName(IPAddress, 2) BETWEEN 8 AND 26) 
 AND (ParseName(IPAddress, 1) BETWEEN 1 AND 255) 
)
GO</pre>
<p>You can see different four part validation ,</p>
<p>First two part validation is: only IP Address range start with 12.4</p>
<p>Last two part validation is: 8 to 26  and 1 to 255.</p>
<p><b>Means valid IP Address are :</b></p>
<p>12.4.8.125</p>
<p>12.4.15.241</p>
<p><b>Invalid IP Address are:</b></p>
<p>10.2.21.52</p>
<p>12.4.7.124</p>
<p>Now insert script for some valid IP Address:</p><pre class="crayon-plain-tag">INSERT INTO tbl_IPAddress  (IPAddress) 
VALUES 
        ('12.4.8.34')
        ,('12.4.16.125')
        ,('12.4.22.120')
        ,('12.4.22.120')
        ,('12.4.15.216')
GO</pre><p>
<blockquote><p><b><span style="color: #ff0000;">If you tried to insert out of range, then this will show you an error that you cannot violate check constraint.</span></b></p></blockquote>
<p><strong>Script to Select different part of stored IP Address:</strong></p>
<pre class="crayon-plain-tag">SELECT IPAddress
     ,ParseName(IPAddress, 4) As FirstPart
     ,ParseName(IPAddress, 3) As SecondPart
     ,ParseName(IPAddress, 2) As ThirdPart
     ,ParseName(IPAddress, 1) As FourthPart
FROM   tbl_IPAddress</pre>
<blockquote><p><b>My Suggestion:</b></p>
<p>In this demo, I stored IP Address into one VARCHAR(15) column which is not effective storage.<br />
Whenever you don&#8217;t require any analysis on IP Address, then you can store the IP Address into one column. Otherwise, <b><a href="https://www.dbrnd.com/2015/05/store-ip-address-into-database-system/">please visit this page on the effective storage of IP Addresses. </a></b></p></blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://www.dbrnd.com/2015/06/validate-ip-address-range-in-sql-server/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
