<?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>Blaž Humerca &#187; MS SQL</title>
	<atom:link href="http://blog.humerca.net/tag/ms-sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.humerca.net</link>
	<description>...v besedi in sliki</description>
	<lastBuildDate>Sat, 28 Jan 2012 19:00:09 +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>MS SQL &#8211; številka tedna (week number)</title>
		<link>http://blog.humerca.net/2010/04/14/ms-sql-stevilka-tedna-week-number/</link>
		<comments>http://blog.humerca.net/2010/04/14/ms-sql-stevilka-tedna-week-number/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 13:03:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MS SQL]]></category>
		<category><![CDATA[MS Windows]]></category>
		<category><![CDATA[Računalništvo]]></category>
		<category><![CDATA[datum]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[teden]]></category>

		<guid isPermaLink="false">http://blog.humerca.net/?p=515</guid>
		<description><![CDATA[V službi sem pri nekem projektu potreboval podatek za poljuben datum, da mi pove kateri teden je takrat. Ker gre za projekt pri katerem se planirajo potrebe v proizvodnji in ker je naša matična firma v nemčiji se vsi roki in planirani datumi govorijo v številkah tedna. Toda kako to številko dobiti direktno iz funkcij v MS SQL-u? Ko sem pogledal v MS SQL books online sem našel čisto preprosto sintakso: DATEPART (wk, &#8217;2010-04-12&#8242;) Vendar tukaj dobim napačno številko. Problem je v tem, da se predvsem v evropi uporablja štetje tednov drugače. Sql vzame kot prvi teden dneve, ki so<a href="http://blog.humerca.net/2010/04/14/ms-sql-stevilka-tedna-week-number/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="/slike/2010_04_14/sql.jpg" alt='Sql' border=0><br />
V službi sem pri nekem projektu potreboval podatek za poljuben datum, da mi pove kateri teden je takrat. Ker gre za projekt pri katerem se planirajo potrebe v proizvodnji in ker je naša matična firma v nemčiji se vsi roki in planirani datumi govorijo v številkah tedna. Toda kako to številko dobiti direktno iz funkcij v MS SQL-u? </p>
<p>Ko sem pogledal v <a href="http://msdn.microsoft.com/en-us/library/ms174420.aspx">MS SQL books online</a> sem našel čisto preprosto sintakso: </p>
<p>DATEPART (wk, &#8217;2010-04-12&#8242;)  </p>
<p>Vendar tukaj dobim napačno številko. Problem je v tem, da se predvsem v evropi uporablja štetje tednov drugače. Sql vzame kot prvi teden dneve, ki so še v zadnjem tednu prejšnjega leta. Po evopskem (ISO) načinu, pa se šteje za prvi teden šele prvi ponedeljek. Primer: 1.1.2010 je bil petek. In MS SQL šteje ta teden že kot prvi teden, pa čeprav je to tudi v bistvu 53.teden prejšnjega leta. ISO štetje, pa vzame kot prvi dan 1 tedna 4.1.2010 &#8211; ponedeljek.</p>
<p>Torej pravilna sintaksa je : </p>
<p>select DATEPART (isowk, &#8217;2010-04-12&#8242;) as weeknumber </p>
<p>Vendar sem ugotovil, da to deluje šele na MS SQL 2008. Torej sem moral za MS SQL 2000 poiskati drugo rešitev. In sem jo našel. Prav tako je posredovana iz strani <a href="http://msdn.microsoft.com/en-us/library/aa258261(SQL.80).aspx">Microsofta</a>. Pohvalno. </p>
<p>Na sistemski bazi master sem poiskal User Defined functions in dodal sledeče: </p>
<p><code>CREATE FUNCTION ISOweek  (@DATE datetime)<br />
RETURNS int<br />
AS<br />
BEGIN<br />
   DECLARE @ISOweek int<br />
   SET @ISOweek= DATEPART(wk,@DATE)+1<br />
      -DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104')<br />
--Special cases: Jan 1-3 may belong to the previous year<br />
   IF (@ISOweek=0)<br />
      SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1<br />
         AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1<br />
--Special case: Dec 29-31 may belong to the next year<br />
   IF ((DATEPART(mm,@DATE)=12) AND<br />
      ((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))<br />
      SET @ISOweek=1<br />
   RETURN(@ISOweek)<br />
END</code></p>
<p>Ko hočemo poklicati to funkcijo uporabimo slednje (primer): </p>
<p>SELECT master.dbo.ISOweek(&#8217;2010-04-14&#8242;) AS &#8216;ISO Week&#8217; </p>
<p>Tako pa smo rešili še en problem <img src='http://blog.humerca.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.humerca.net/2010/04/14/ms-sql-stevilka-tedna-week-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kako povečati število vrstic za urejanje v MS SQL Server Management Studio 2008 &#8211; (Edit Top 200 Rows)</title>
		<link>http://blog.humerca.net/2010/01/04/kako-povecati-stevilo-vrstic-za-urejanje-v-ms-sql-2008-edit-top-200-rows/</link>
		<comments>http://blog.humerca.net/2010/01/04/kako-povecati-stevilo-vrstic-za-urejanje-v-ms-sql-2008-edit-top-200-rows/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 07:38:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MS Windows]]></category>
		<category><![CDATA[Računalništvo]]></category>
		<category><![CDATA[Management studio]]></category>
		<category><![CDATA[MS SQL]]></category>
		<category><![CDATA[urejanje]]></category>

		<guid isPermaLink="false">http://blog.humerca.net/?p=493</guid>
		<description><![CDATA[Ker je že nekaj časa na voljo nova različica MS SQL serverja 2008 sem se odločil, da ga sprobam.  Kmalu sem naletel na problem. V Management Studio sem hotel izbrati vse vrstice v tabeli, da bi jih lahko popravljal. Vendar je na voljo samo opcija prvih 200 vrstic (Edit top 200 rows). Čudno.  No vedel sem, da najbrž obstaja način kako to spremeniti. Kolega Marko mi je kmalu poslal rešitev. Gremo v menu Tools \ Options \ SQL Server Object Explorer Izberemo Commands in številko spremenimo na nič (0). Tako imamo na voljo opcijo uredi vse urstice (Edit All rows).<a href="http://blog.humerca.net/2010/01/04/kako-povecati-stevilo-vrstic-za-urejanje-v-ms-sql-2008-edit-top-200-rows/">&#160;&#160;[ Read More ]</a>]]></description>
			<content:encoded><![CDATA[<p><center><br />
<img src="/slike/2009_12_17/SQL2008.jpg" alt='sql' border=0><br />
</center></p>
<p>Ker je že nekaj časa na voljo nova različica MS SQL serverja 2008 sem se odločil, da ga sprobam.  Kmalu sem naletel na problem. V Management Studio sem hotel izbrati vse vrstice v tabeli, da bi jih lahko popravljal. Vendar je na voljo samo opcija prvih 200 vrstic (Edit top 200 rows). Čudno.  No vedel sem, da najbrž obstaja način kako to spremeniti. Kolega Marko mi je kmalu poslal rešitev.</p>
<p>Gremo v menu Tools \ Options \ SQL Server Object Explorer </p>
<p>Izberemo Commands in številko spremenimo na nič (0). Tako imamo na voljo opcijo uredi vse urstice (Edit All rows). Če hočemo lahko vnesemo tudi kakšno drugo številko. To je to&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.humerca.net/2010/01/04/kako-povecati-stevilo-vrstic-za-urejanje-v-ms-sql-2008-edit-top-200-rows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

