


<?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>OsMeusApontamentos &#187; sqlserver</title>
	<atom:link href="http://blog.osmeusapontamentos.com/index.php/tag/sqlserver/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.osmeusapontamentos.com</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 14:20:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>sql convert date format</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2007/07/27/sql-convert-date-format/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2007/07/27/sql-convert-date-format/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 09:33:54 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=510</guid>
		<description><![CDATA[Eu sou um bocado paranóico em relação às conversões entre tipos de dados, provavelmente porque tive que conviver muito tempo com pessoas que faziam coisas fantásticas como gravar datas ou números em campos de texto. No entanto há situações em que temos mesmo que fazer este tipo de conversões, normalmente para gerar outputs, e um [...]]]></description>
			<content:encoded><![CDATA[<p>Eu sou um bocado paranóico em relação às conversões entre tipos de dados, provavelmente porque tive que conviver muito tempo com pessoas que faziam coisas fantásticas como gravar datas ou números em campos de texto.<br />
No entanto há situações em que temos mesmo que fazer este tipo de conversões, normalmente para gerar outputs, e um dos casos mais comuns é converter uma data para uma string.<br />
Esta operação aparentemente trivial levanta um conjunto de questões que têm essencialmente a ver com o formato que cada língua tem para a data, por exemplo quantos números considerar para o ano, dois ou quatro? qual o formato da data, dd-mm-aaaa, aaaa-mm-dd, mm-dd-aaaa? e qual o separador &#8216;/&#8217;, &#8216;-&#8217;, &#8216;.&#8217;?<br />
Felizmente o sql server já inclui o conjunto de conversões mais habitual que listo em baixo.<br />
<font color="#ff00ff" size="2">convert</font><font color="#808080" size="2">(</font><font color="#0000ff" size="2">varchar</font><font color="#808080" size="2">(</font><font size="2">50</font><font color="#808080" size="2">),</font><font size="2"> </font><font color="#ff00ff" size="2">getdate</font><font color="#808080" size="2">(),</font><font size="2"> opcao</font><font color="#808080" size="2">)</font></p>
<ul>   <font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 0 </font><font color="#008000" size="2">&#8211; Aug 27 2007 10:20AM</font></li>
<p></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 1 </font><font color="#008000" size="2">&#8211; 08/27/07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 2 </font><font color="#008000" size="2">&#8211; 07.08.27</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 3 </font><font color="#008000" size="2">&#8211; 27/08/07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 4 </font><font color="#008000" size="2">&#8211; 27.08.07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 5 </font><font color="#008000" size="2">&#8211; 27-08-07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 6 </font><font color="#008000" size="2">&#8211; 27 Aug 07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 7 </font><font color="#008000" size="2">&#8211; Aug 27, 07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 8 </font><font color="#008000" size="2">&#8211; 10:17:36</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 9 </font><font color="#008000" size="2">&#8211; Aug 27 2007 10:18:11:090AM</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 10 </font><font color="#008000" size="2">&#8211; 08-27-07</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 11 </font><font color="#008000" size="2">&#8211; 07/08/27</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 12 </font><font color="#008000" size="2">&#8211; 070827</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 13 </font><font color="#008000" size="2">&#8211; 27 Aug 2007 10:22:46:000</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 14 </font><font color="#008000" size="2">&#8211; 10:22:54:530</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 100 </font><font color="#008000" size="2">&#8211; Aug 27 2007 10:20AM</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 101 </font><font color="#008000" size="2">&#8211; 08/27/2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 102 </font><font color="#008000" size="2">&#8211; 2007.08.27</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 103 </font><font color="#008000" size="2">&#8211; 27/08/2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 104 </font><font color="#008000" size="2">&#8211; 27.08.2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 105 </font><font color="#008000" size="2">&#8211; 27-08-2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 106 </font><font color="#008000" size="2">&#8211; 27 Aug 2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 107 </font><font color="#008000" size="2">&#8211; Aug 27, 2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 108 </font><font color="#008000" size="2">&#8211; 10:17:36</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 109 </font><font color="#008000" size="2">&#8211; Aug 27 2007 10:18:11:090AM</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 110 </font><font color="#008000" size="2">&#8211; 08-27-2007</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 111 </font><font color="#008000" size="2">&#8211; 2007/08/27</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 112 </font><font color="#008000" size="2">&#8211; 20070827</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 113 </font><font color="#008000" size="2">&#8211; 27 Aug 2007 10:22:46:000</font></li>
<p></font></font> <font size="2"><font size="2"></p>
<li>opcao <font color="#808080" size="2">=</font><font size="2"> 114 </font><font color="#008000" size="2">&#8211; 10:22:54:530</font></li>
<p></font></font></ul>
<p>Já agora se quisermos que os nomes dos meses e/ou dias da semana apareçam em português (e estivermos com a default language em inglês) teremos que primeiro incluir a instrução set language portuguese</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2007/07/27/sql-convert-date-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Restore sql server backup</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2006/07/07/restore-sql-server-backup/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2006/07/07/restore-sql-server-backup/#comments</comments>
		<pubDate>Fri, 07 Jul 2006 10:18:45 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[referencia]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=456</guid>
		<description><![CDATA[supondo que alguem nos envia um backup de uma base de dados sql e queremos fazer restore para o nosso servidor, à partida fariamos algo como: RESTORE DATABASE nomeBaseDados FROM DISK = &#8220;path\\ficheiro.bak&#8221; no entanto isto pressupõe que a base de dados que vamos restaurar vai ficar (pode ficar) no mesmo sitio onde estava no [...]]]></description>
			<content:encoded><![CDATA[<p>supondo que alguem nos envia um backup de uma base de dados sql e queremos fazer restore para o nosso servidor, à partida fariamos algo como:</p>
<p>RESTORE DATABASE nomeBaseDados<br />
FROM DISK = &#8220;path\\ficheiro.bak&#8221;</p>
<p>no entanto isto pressupõe que a base de dados que vamos restaurar vai ficar (pode ficar) no mesmo sitio onde estava no momento em que foi feito o backup, isto é, se estava em d:\\basedados\\ficheiro.mdf, então esse directorio tem que existir e a base de dados irá ficar com o mesmo nome.<br />
isto normalmente não é problemático em cenários em que estamos a tratar de backups que fomos nós que fizemos, mas quando isso nõo acontece a probabilidade de existir a path começa a reduzir.<br />
para ultrapassar esse problema podemos fazer o seguinte</p>
<p>RESTORE DATABASE nomeBaseDados<br />
FROM DISK = &#8220;path\\ficheiro.bak&#8221;<br />
WITH MOVE &#8220;ficheiro_Data&#8221; TO &#8220;novaPath\\novoNome.mdf&#8221;,<br />
MOVE &#8220;ficheiro_Log&#8221; TO &#8220;novaPath\\novoNome.ldf&#8221;,<br />
REPLACE</p>
<p>em que o primeiro parametro do MOVE é o nome lógico que o sqlserver dá aos ficheiros.<br />
para conhecermos essa estrutura temos que primeiro fazer</p>
<p>RESTORE FILELISTONLY<br />
FROM DISK = &#8220;path\\ficheiro.bak&#8221;</p>
<p>finalmente, no caso de o backup já incluir várias versões da base de dados deveremos incluir ainda o parametro File, ou seja</p>
<p>RESTORE DATABASE nomeBaseDados<br />
FROM DISK = &#8220;path\\ficheiro.bak&#8221;<br />
WITH MOVE &#8220;ficheiro_Data&#8221; TO &#8220;novaPath\\novoNome.mdf&#8221;,<br />
MOVE &#8220;ficheiro_Log&#8221; TO &#8220;novaPath\\novoNome.ldf&#8221;,<br />
REPLACE, FILE = 1 (este numero é o numero da versão)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2006/07/07/restore-sql-server-backup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>null?</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2006/04/27/null/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2006/04/27/null/#comments</comments>
		<pubDate>Thu, 27 Apr 2006 10:24:30 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[programação]]></category>
		<category><![CDATA[referencia]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=436</guid>
		<description><![CDATA[li aqui http://www.sqlmag.com/Article/ArticleID/49294/sql_server_49294.html (Designing for Performance: Null or Not Null?) um artigo sobre a definição de campos nullable / not nullable numa base de dados. qual é a vossa regra principal na definição dos campos?: 1. &#8211; null 2. &#8211; not null =&#62; null is evil! 3. &#8211; who cares? eu confesso que sempre olhei [...]]]></description>
			<content:encoded><![CDATA[<p>li aqui http://www.sqlmag.com/Article/ArticleID/49294/sql_server_49294.html (Designing for Performance: Null or Not Null?) um artigo sobre a definição de campos nullable / not nullable numa base de dados.<br />
qual é a vossa regra principal na definição dos campos?:<br />
1. &#8211; null<br />
2. &#8211; not null =&gt; null is evil!<br />
3. &#8211; who cares?<br />
<span id="more-436"></span><br />
eu confesso que sempre olhei para o null como uma imperfeição, uma coisa com a qual tenho que viver porque os meus gestores de projecto / utilizadores / etc. nunca conseguem dizer claramente &#8220;este campo tem que estar sempre preenchido.&#8221;<br />
por isso os campos das minhas tabelas são quase sempre not nullable. e normalmente prefiro introduzir um valor de controlo em vez de usar o valor null.<br />
mas depois de ler este artigo já não estou tão seguro da minha opção. realmente entre usar uma solução standard (null) para indicar que desconhecemos um valor ou usar uma string vazia ou um número ou data específica qual é a melhor solução?</p>
<p>algumas citações.<br />
&#8220;Unknown is real; you work with unknowns everyday. You should be able to store unknowns in your databases.&#8221;<br />
&#8220;null means that some value is unknown, missing, or irrelevant&#8221;<br />
&#8220;Null was created for a purpose: to express the unknown condition, wich can be entirely valid, depending on the cursumstances. ANSI has clearly advocated the use of NULL instead of other mechanisms such as codes or empty strings when appropriate.&#8221;</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2006/04/27/null/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sqldiff</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2006/04/18/sqldiff/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2006/04/18/sqldiff/#comments</comments>
		<pubDate>Tue, 18 Apr 2006 15:56:18 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[programar]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=435</guid>
		<description><![CDATA[Free Database Compare Detecta diferenças na estrutura da base de dados (campos, tabelas, views, etc.) No entanto não detecta diferenças no conteúdo de storedproc ou funções. De qualquer forma é melhor do que o que eu actualmente tinha que era nada…]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.starinix.com/sqlcompare01.htm">Free Database Compare</a><br />
Detecta diferenças na estrutura da base de dados (campos, tabelas, views, etc.)<br />
No entanto não detecta diferenças no conteúdo de storedproc ou funções.<br />
De qualquer forma é melhor do que o que eu actualmente tinha que era nada…</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2006/04/18/sqldiff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 1995 SQL Reunion: People, Projects, and Politics</title>
		<link>http://blog.osmeusapontamentos.com/index.php/2006/03/02/the-1995-sql-reunion-people-projects-and-politics/</link>
		<comments>http://blog.osmeusapontamentos.com/index.php/2006/03/02/the-1995-sql-reunion-people-projects-and-politics/#comments</comments>
		<pubDate>Thu, 02 Mar 2006 12:03:04 +0000</pubDate>
		<dc:creator>vitorsilva</dc:creator>
				<category><![CDATA[ler/ ver/ ouvir/ passear]]></category>
		<category><![CDATA[história]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[sqlserver]]></category>

		<guid isPermaLink="false">http://blog.osmeusapontamentos.com/?p=414</guid>
		<description><![CDATA[http://www.mcjones.org/System_R/SQL_Reunion_95/sqlr95.html]]></description>
			<content:encoded><![CDATA[<p>http://www.mcjones.org/System_R/SQL_Reunion_95/sqlr95.html</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Share/Save</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.osmeusapontamentos.com/index.php/2006/03/02/the-1995-sql-reunion-people-projects-and-politics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

