Arquivos

Archive for the ‘SQL’ Category

Select com IF / CASE no SQL Server

Sempre tenho tal necessidade, segue um exemplo para posterior consulta:

SELECT COLUMN_NAME as Nome, DATA_TYPE as Tipo,
CASE
WHEN Character_Maximum_length is null and DATA_TYPE = ‘int’
THEN 10
WHEN Character_Maximum_length is null and DATA_TYPE = ‘decimal’
THEN 20
ELSE Character_Maximum_length
END as Tamanho,
Is_Nullable as NULLS
FROM [INFORMATION_SCHEMA].[COLUMNS]

Consultando dicionário de dados no SQL Server

A seguinte query é muito útil quando é necessário consultar o dicionário de dados no SQL Server:

SELECT COLUMN_NAME as Nome, DATA_TYPE as Tipo, Character_Maximum_length as Tamanho, Is_Nullable as NULLS
FROM [INFORMATION_SCHEMA].[COLUMNS]
WHERE TABLE_NAME = ‘COD_USUARIO’

[]s

Enjoy!

Reference Cards

Encontrei uma página muito boa com uma coleção de reference cards, dentre eles sobre JAVA, XML e SQL!

Eis o link: http://www.digilife.be/quickreferences/quickrefs.htm

Enjoy!

CategoriasBanco de dados, JAVA, SQL

Clausulas SQL IN, Having, Constains e Like

Muitas pessoas não conhecem ou não fazem uso de clausulas SQL que podem realmente salvar um dia! Perguntas sobre tais clausulas também são constantemente feitas em entrevistas de empregos. Neste post pretendo mostras brevemente o IN, Having, Constains e Like.

IN

Determina se um valor especificado corresponde a qualquer valor em uma sub-consulta ou uma lista. Exemplos:
SELECT FirstName, LastName, e.Title
FROM HumanResources.Employee AS e
JOIN Person.Contact AS c
ON e.ContactID = c.ContactID
WHERE e.Title IN (‘Design Engineer’, ‘Tool Designer’, ‘Marketing Assistant’);

Exemplo utilizando o resultado de outra query:
SELECT FirstName, LastName
FROM Person.Contact AS c
JOIN HumanResources.Employee AS e
ON e.ContactID = c.ContactID
WHERE EmployeeID IN
(SELECT SalesPersonID
FROM Sales.SalesPerson
WHERE SalesQuota > 250000);

HAVING

Especifica um critério de pesquisa para um grupo ou um agregado. HAVING pode ser usado somente com a instrução SELECT. HAVING é usado normalmente em uma cláusula GROUP BY. Quando GROUP BY não é usado, HAVING se comporta como uma cláusula WHERE. Exemplo:
SELECT SalesOrderID, SUM(LineTotal) AS SubTotal
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID
HAVING SUM(LineTotal) > 100000.00
ORDER BY SalesOrderID ;

CONTAINS

É um predicado usado em uma cláusula WHERE para pesquisar colunas que contêm tipos de dados baseados em caracteres para obter correspondências precisas ou difusas (menos precisas) para palavras e frases únicas, a proximidade de palavras com uma determinada distância entre si ou correspondências ponderadas. Exemplo:
SELECT Name, ListPrice
FROM Production.Product
WHERE ListPrice = 80.99
AND CONTAINS(Name, ‘Mountain’);

LIKE

Determina se uma cadeia de caracteres específica corresponde a um padrão especificado. Exemplo:

SELECT *
FROM t
WHERE col1 LIKE ‘% da Silva’

Enjoy!

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 151 outros seguidores