<?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>Le blog de jsd03 &#187; SQL</title>
	<atom:link href="https://blog.developpez.com/jsd03/pcategory/bdd/mssql_server/mssql_server-sql/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/jsd03</link>
	<description></description>
	<lastBuildDate>Mon, 07 Nov 2016 14:34:06 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Création table de temps</title>
		<link>https://blog.developpez.com/jsd03/p13117/bdd/creation-table-de-temps</link>
		<comments>https://blog.developpez.com/jsd03/p13117/bdd/creation-table-de-temps#comments</comments>
		<pubDate>Mon, 07 Nov 2016 14:33:33 +0000</pubDate>
		<dc:creator><![CDATA[jsd03]]></dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jsd03/?p=145</guid>
		<description><![CDATA[La requête suivante permet de créer une table d&#8217;heure avec SQL server : 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152CREATE TABLE [Clock] ( &#160; &#160; ClTime time, &#160; &#160; ClHourMinuteStr VARCHAR(5), &#160; &#160; ClHourStr VARCHAR(2), &#160; &#160; ClHour int, &#160; &#160; ClMinuteStr VARCHAR(2), &#160; &#160; ClMinute &#8230; <a href="https://blog.developpez.com/jsd03/p13117/bdd/creation-table-de-temps">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La requête suivante permet de créer une table d&rsquo;heure avec SQL server :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CREATE TABLE [Clock]<br />
(<br />
&nbsp; &nbsp; ClTime time,<br />
&nbsp; &nbsp; ClHourMinuteStr VARCHAR(5),<br />
&nbsp; &nbsp; ClHourStr VARCHAR(2),<br />
&nbsp; &nbsp; ClHour int,<br />
&nbsp; &nbsp; ClMinuteStr VARCHAR(2),<br />
&nbsp; &nbsp; ClMinute int<br />
);<br />
&nbsp;<br />
&nbsp;<br />
BEGIN <br />
&nbsp; &nbsp; DECLARE @heureStr VARCHAR(2);<br />
&nbsp; &nbsp; DECLARE @minuteStr VARCHAR(2);<br />
&nbsp; &nbsp; DECLARE @heureMinute VARCHAR(5);<br />
&nbsp; &nbsp; DECLARE @idHeureMinute INTEGER;<br />
&nbsp; &nbsp; DECLARE @hour integer = 0;<br />
&nbsp; &nbsp; DECLARE @hourMax integer = 23;<br />
&nbsp; &nbsp; DECLARE @minute integer = 0;<br />
&nbsp; &nbsp; DECLARE @minuteMax integer = 59;<br />
&nbsp;<br />
&nbsp; &nbsp; BEGIN<br />
&nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; WHILE @hour &amp;lt;= @hourMax <br />
&nbsp; &nbsp; &nbsp; &nbsp; BEGIN<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @heureStr = REPLACE(STR(@hour, 2), SPACE(1), &amp;#039;0&amp;#039;)<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; WHILE @minute &amp;lt;= @minuteMax<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BEGIN<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @minuteStr = REPLACE(STR(@minute, 2), SPACE(1), &amp;#039;0&amp;#039;)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @heureMinute = @heureStr + &amp;#039;:&amp;#039; + @minuteStr;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; INSERT INTO [Clock]<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SELECT convert(time, @heureMinute), @heureMinute, @heureStr, @hour, @minuteStr, @minute;<br />
&nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @minute = @minute + 1 ;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; END<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @minute = 0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SET @hour = @hour+1;<br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp; &nbsp; &nbsp; END<br />
&nbsp; &nbsp; <br />
&nbsp;<br />
&nbsp; &nbsp; END<br />
<br />
END;</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Création calendrier</title>
		<link>https://blog.developpez.com/jsd03/p13114/bdd/creation-calendrier</link>
		<comments>https://blog.developpez.com/jsd03/p13114/bdd/creation-calendrier#comments</comments>
		<pubDate>Fri, 21 Oct 2016 15:20:04 +0000</pubDate>
		<dc:creator><![CDATA[jsd03]]></dc:creator>
				<category><![CDATA[Base de données]]></category>
		<category><![CDATA[MSSQL Server]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[calendrier]]></category>
		<category><![CDATA[date]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jsd03/?p=134</guid>
		<description><![CDATA[La requête suivante permet de générer une table &#171;&#160;Calendar&#160;&#187; avec Sql Server du 01/01/1900 au 12/31/2999 : 12345678910111213141516171819202122232425262728293031SELECT &#160; &#160; convert(date , d ) as CalDate, &#160; &#160; DATEPART(YEAR, d) as CalYear, &#160; &#160; DATEPART(QUARTER, &#160;d) as CalQuarter, &#160; &#160; &#8230; <a href="https://blog.developpez.com/jsd03/p13114/bdd/creation-calendrier">Lire la suite <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>La requête suivante permet de générer une table &laquo;&nbsp;Calendar&nbsp;&raquo; avec Sql Server du 01/01/1900 au 12/31/2999 :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:500px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">SELECT<br />
&nbsp; &nbsp; convert(date , d ) as CalDate,<br />
&nbsp; &nbsp; DATEPART(YEAR, d) as CalYear,<br />
&nbsp; &nbsp; DATEPART(QUARTER, &nbsp;d) as CalQuarter,<br />
&nbsp; &nbsp; DATEPART(MONTH, &nbsp;d) as CalMonth,<br />
&nbsp; &nbsp; DATENAME(MONTH, &nbsp; &nbsp;d) as CalMonthName,<br />
&nbsp; &nbsp; DATEPART(WEEK, &nbsp; &nbsp; d) as CalWeekOfYear,<br />
&nbsp; &nbsp; CONVERT(CHAR(10), &nbsp;d, 101) as CalDateStr,<br />
&nbsp; &nbsp; DATEPART(WEEKDAY, &nbsp;d) as CalDayOfWeek,<br />
&nbsp; &nbsp; DATEPART(DAY, &nbsp;d) as CalDayOfMonth,<br />
&nbsp; &nbsp; DATEPART(dy, d) as CalDayOfYear,<br />
&nbsp; &nbsp; CONVERT(VARCHAR(10), DATENAME(WEEKDAY, d)) as CalDayName,<br />
&nbsp; &nbsp; DATEPART(YEAR, d)*100+REPLACE(STR(DATEPART(MONTH, &nbsp;d), 4), SPACE(1), '0') as CalYearMonth,<br />
&nbsp; &nbsp; DATEPART(YEAR, d)*10000+REPLACE(STR(DATEPART(MONTH, &nbsp;d), 4), SPACE(1), '0')*100+DATEPART(DAY, &nbsp;d) as CalYearDay,<br />
&nbsp; &nbsp; CASE WHEN REPLACE(STR(DATEPART(MONTH, &nbsp;d), 4), SPACE(1), '0')*100+DATEPART(DAY, &nbsp;d) IN (101, 501, 508, 714,815, 1101, 1225) THEN 1 ELSE 0 &nbsp;END as CalIsPublicHoliday,<br />
&nbsp; &nbsp; case when DATEPART(WEEKDAY, &nbsp;d) in (6, 7) THEN 1 else 0 end as CalIsWeekEnd<br />
&nbsp; &nbsp; into dbo.Calendar<br />
from<br />
(<br />
SELECT d = DATEADD(DAY, rn - 1, '19000101')<br />
&nbsp; FROM <br />
&nbsp; (<br />
&nbsp; &nbsp; SELECT TOP (DATEDIFF(DAY, '19000101', '29991231')) <br />
&nbsp; &nbsp; &nbsp; rn = ROW_NUMBER() OVER (ORDER BY s1.[object_id])<br />
&nbsp; &nbsp; FROM sys.all_objects AS s1<br />
&nbsp; &nbsp; CROSS JOIN sys.all_objects AS s2<br />
&nbsp; &nbsp; ORDER BY s1.[object_id]<br />
&nbsp; ) A<br />
) b;<br />
<br />
create index IdxRefCalendar on dbo.[REF-Calendar](CalDate);</div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
