Bienvenidos

Recuerda que tus comentarios son importantes y recuerda agradecer si te fue útil algun artículo publicado aquí.

L1f3 15 a D@nc3 Flo0r

lunes, 19 de mayo de 2008

Cannot resolve the collation conflict

Este es un error muy frecuente que se nos presenta cuando queremos trabajar con dos Bases de Datos que tienen COLLATION diferentes.

el error que nos da el query es: Cannot resolve the collation conflict between "SQL_Latin1_General_CP1250_CI_AS" and "Latin1_General_CI_AS" in the equal to operation.

Esto se resuelve con la clausula COLLATE.

Ej.:
SELECT <>
FROM TableA A
JOIN TableB B ON A.col=B.col
COLLATE SQL_Latin1_General_CP1250_CI_AS

sábado, 10 de mayo de 2008

Shrinking a log file to a specified target size

USE [DB_NAME];

GO

-- Truncate the log by changing the database recovery model to SIMPLE.

ALTER
DATABASE [DB_NAME]

SET RECOVERY SIMPLE;

GO

-- Shrink the truncated log file to 1 MB.

DBCC SHRINKFILE ([DATABASE LOG LOGICAL NAME], [TAMANO FINAL EN MB]);

GO

-- Reset the database recovery model.

ALTER
DATABASE [DB_NAME]

SET RECOVERY FULL;

GO

CLAUSULA: CASE WHEN

CLAUSULA: CASE WHEN

Es parecida al CASE que utilizamos en programación, con la ventaja de que el mismo puede ser utilizado en un campo de la consulta.

Caso de uso: Imagine que tiene un campo dentro de la tabla en el que usted quiere desplegar un valor en específico en el caso en el que ese campo tenga valor (es decir no desea desplegar el valor del campo sino un valor especificado por usted). En ese caso utilizamos el CASE WHEN el campo en cuestión tenga valor le decimos que despliegue la letra "P" de lo contrario que despliegue un espacio.

Ej.:

SELECT [campo1], [campo2], CASE WHEN [campo3] IS NOT NULL THEN 'P' ELSE ' ' END
FROM [tabla]