http://www.MenuDaInternet.com/SQL
http://www.MenuDaInternet.com/blogSQL
Tudo sobre SQL SERVER


 

Pesquisar:     

Postagem do dono do blog: (05/06/2010 22:17:11)
Funções de data e hora

SELECT * FROM table WHERE MONTH(data)='05';
Descrição: seleciona todos os registros da tabela table onde o campo data possui a data no mês de Maio.

SELECT DISTINCT DAYOFMONTH(data),MONTH(data),YEAR(data);
Descrição: seleciona o dia do mês, mês e ano sem repetir da tabela table.


Postagem do dono do blog: (05/06/2010 22:10:44)
Performance:

Todas as vezes que for utilizar um SQL que possua condições de OR, é mais aconselhável e mais rápido utilizar IN, como no exemplo:

AO INVÉS DE
select * from TABELA where CAMPO1 = 'AI' or CAMPO1= 'EL'

DIGITE
select * from TABELA where CAMPO1 IN ('AI','EL')


Postagem do dono do blog: (02/06/2010 23:28:01)
Numerando linhas de registros (row_number):

Utilizando a função row_number podemos não só numerar as linhas de uma tabela como também fazer essa numeração em uma ordem específica, diferente da ordem na qual as linhas serão exibidas.

Exemplo:
No SQL 2005
select ROW_NUMBER() over ( ORDER BY Quantidade desc ) as Numero,
       Vendedor,
       Produto,
       Quantidade,
       Telefonemas
from Analise_Vendas


Postagem do dono do blog: (02/06/2010 23:17:00)
Registros aleatórios:

Vamos supor que queremos retornar 10 registros aleatórios de uma tabela. Como podemos fazer isto?
A partir do SQL Server 7.0, foi implementada uma função chamada NEWID(). Esta função gera um identificador interno aleatório. Para retornar registros aleatórios, podemos fazer assim:


SELECT TOP 10 CAMPO1 , CAMPO2 FROM TABELA1
ORDER BY NEWID()