<?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>Doing the dirty... &#187; SQL</title>
	<atom:link href="http://www.roughedge.se/blogg/category/sql/feed/%27%20+%20CONVERT(varchar(255),%20link)%20+%20%27" rel="self" type="application/rss+xml" />
	<link>http://www.roughedge.se/blogg</link>
	<description>Training, mechanics and headbutting life in general</description>
	<lastBuildDate>Sun, 18 Mar 2012 13:29:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Fest hos marcus</title>
		<link>http://www.roughedge.se/blogg/2009/03/21/fest-hos-marcus/</link>
		<comments>http://www.roughedge.se/blogg/2009/03/21/fest-hos-marcus/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 21:36:07 +0000</pubDate>
		<dc:creator>NeoTech</dc:creator>
				<category><![CDATA[Övrigt]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[marcus 30 gubbe]]></category>

		<guid isPermaLink="false">http://www.roughedge.se/blogg/2009/03/21/fest-hos-marcus/</guid>
		<description><![CDATA[Idag var vi och fira min svåger(???) tillika affärspartner. Han vart skitgammal för ngn vecka sen och det fira han genom att äta sig snurrig på hemmagjord smörgåstårta. Grattis marcus. Här kommer en bild på en mkt nöjd hund.]]></description>
			<content:encoded><![CDATA[<p>Idag var vi och fira min svåger(???) tillika affärspartner. Han vart skitgammal för ngn vecka sen och det fira han genom att äta sig snurrig på hemmagjord smörgåstårta. Grattis marcus. Här kommer en bild på en mkt nöjd hund.</p>
<p><a href="http://www.roughedge.se/blogg/wp-content/uploads/2009/03/p-1600-1200-efffa10e-2210-47a8-82ea-4bec094f7672.jpeg"><img class="size-full wp-image-364 alignnone" src="http://www.roughedge.se/blogg/wp-content/uploads/2009/03/p-1600-1200-efffa10e-2210-47a8-82ea-4bec094f7672.jpeg" alt="" width="225" height="300" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.roughedge.se/blogg/2009/03/21/fest-hos-marcus/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>En vanlig dag&#8230;</title>
		<link>http://www.roughedge.se/blogg/2008/08/20/en-vanlig-dag/</link>
		<comments>http://www.roughedge.se/blogg/2008/08/20/en-vanlig-dag/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 11:29:55 +0000</pubDate>
		<dc:creator>NeoTech</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://www.roughedge.se/blogg/?p=70</guid>
		<description><![CDATA[DROP FUNCTION CalculateIP; GO CREATE FUNCTION CalculateIP ( @varIp AS varchar(20) ) RETURNS bigint BEGIN Declare @IP varchar(20); Declare @multi1 bigint; Declare @multi2 bigint; Declare @multi3 bigint; Declare @value bigint; SET @multi1 = 16777216; SET @multi2 = 65536; SET @multi3 = 256; SELECT @IP = @varIp; SELECT @value = (@multi1 * cast(substring(@IP, 1, charindex('.', @IP) [...]]]></description>
			<content:encoded><![CDATA[<p><code>DROP FUNCTION CalculateIP;<br />
GO<br />
CREATE FUNCTION CalculateIP (<br />
@varIp AS varchar(20)<br />
) RETURNS bigint<br />
BEGIN<br />
Declare @IP varchar(20);<br />
Declare @multi1 bigint;<br />
Declare @multi2 bigint;<br />
Declare @multi3 bigint;<br />
Declare @value bigint;<br />
SET @multi1 = 16777216;<br />
SET @multi2 = 65536;<br />
SET @multi3 = 256;<br />
SELECT @IP = @varIp;<br />
SELECT @value = (@multi1 * cast(substring(@IP, 1, charindex('.', @IP) - 1) as int));<br />
SELECT @value = (@value + @multi2 * cast(substring(@IP, charindex('.', @IP) + 1, charindex('.', @IP, charindex('.', @IP) + 1) - charindex('.', @IP) - 1) as int));<br />
SELECT @value = (@value + @multi3 * cast(reverse(substring(reverse(@IP), charindex('.', reverse(@IP)) + 1, charindex('.', reverse(@IP), charindex('.', reverse(@IP)) + 1) - charindex('.', reverse(@IP)) - 1)) as int));<br />
SELECT @value = (@value + cast(reverse(substring(reverse(@IP), 1, charindex('.', reverse(@IP)) - 1)) as int));<br />
RETURN @value;<br />
END<br />
GO<br />
DROP PROC getCheckData;<br />
GO<br />
CREATE PROC getCheckData @IP varchar(20)<br />
AS<br />
DECLARE @startIp bigint;<br />
DECLARE @endIp bigint;<br />
DECLARE @locId bigint;<br />
DECLARE @country varchar(20);<br />
DECLARE @city varchar(20);<br />
DECLARE @region varchar(125);<br />
DECLARE @country_id int;<br />
DECLARE @city_id int;<br />
DECLARE @region_id int;<br />
DECLARE @lat varchar(20);<br />
DECLARE @long varchar(20);<br />
DECLARE @checkpoint varchar(255);<br />
DECLARE @checkpoint_id varchar(255);</code></p>
<p>CREATE TABLE #tempData (<br />
startIpnum bigint,<br />
endIpnum bigint,<br />
locId bigint);<br />
SELECT @startIp = startIpnum FROM GeoCountry WHERE dbo.CalculateIP(@IP) BETWEEN GeoCountry.startIpnum AND GeoCountry.endIpnum;<br />
SELECT @endIp = endIpnum FROM GeoCountry WHERE dbo.CalculateIP(@IP) BETWEEN GeoCountry.startIpnum AND GeoCountry.endIpnum<br />
INSERT INTO #tempData (startIpnum, endIpnum, locId) SELECT startIpnum, endIpnum, locId FROM GeoBlock WHERE startIpnum &gt;= @startIp AND endIpnum &lt;= @endIp;<br />
SELECT @locid = GeoLocation.locId, @country = GeoLocation.country, @city = GeoLocation.city, @lat = GeoLocation.latitude, @long = GeoLocation.longitude,@region = (<br />
SELECT GeoRegion.title FROM GeoRegion,GeoLocation,#tempData WHERE #tempData.locId = GeoLocation.locId AND dbo.CalculateIP(@IP) BETWEEN #tempData.startIpnum AND #tempData.endIpnum<br />
AND (GeoLocation.region = GeoRegion.region AND GeoLocation.country = GeoRegion.country)<br />
)<br />
FROM #tempData, GeoLocation<br />
WHERE #tempData.locId = GeoLocation.locId AND dbo.CalculateIP(@IP) BETWEEN #tempData.startIpnum AND #tempData.endIpnum<br />
DROP TABLE #tempData;<br />
SELECT @city = city, @city_id = id FROM FrontAds WHERE city = @city;<br />
SELECT @region = region, @region_id = id FROM FrontAds WHERE region = @region;<br />
SELECT @country = country, @country_id = id FROM FrontAds WHERE country = @country;</p>
<p>SELECT @checkpoint = CASE<br />
WHEN @city != &#8216;NODATA&#8217; AND @city_id != &#8221; THEN @city_id<br />
WHEN @region != &#8216;NODATA&#8217; AND @region_id != &#8221; THEN @region_id<br />
WHEN @country != &#8216;NODATA&#8217; AND @country_id != &#8221; THEN @country_id<br />
END<br />
SELECT<br />
CASE<br />
WHEN type = &#8217;1&#8242; THEN &#8216;<a href="' + CONVERT(varchar(255), link) + '">&#8216; + &#8216;<img src="' + CONVERT(varchar(255), image) + '" alt="' + CONVERT(varchar(255), alttext) + '" />&#8216; + &#8216;</a>&#8216;<br />
WHEN type = &#8217;2&#8242; THEN &#8216;<a href="' + CONVERT(varchar(255), link) + '">&#8216; + &#8216;<img src="' + CONVERT(varchar(255), image) + '" alt="' + CONVERT(varchar(255), alttext) + '" />&#8216; + &#8216;</a>&#8216;<br />
WHEN type = &#8217;3&#8242; THEN &#8216;<a href="' + CONVERT(varchar(255), link) + '">&#8216; + &#8216;<img src="' + CONVERT(varchar(255), image) + '" alt="' + CONVERT(varchar(255), alttext) + '" />&#8216; + &#8216;</a>&#8216;<br />
WHEN type = &#8217;4&#8242; THEN &#8216;<a href="' + CONVERT(varchar(255), link) + '">&#8216; + &#8216;<img src="' + CONVERT(varchar(255), image) + '" alt="' + CONVERT(varchar(255), alttext) + '" />&#8216; + &#8216;</a>&#8216;<br />
END<br />
FROM FrontAds WHERE id = @checkpoint;</p>
<p>GO</p>
<p>EXEC getCheckData &#8217;212.105.99.136&#8242;;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.roughedge.se/blogg/2008/08/20/en-vanlig-dag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

