Blog de algunos tips de programación que seran útiles a la hora de hacer un sistema y que pueden ser olvidados por los desarrolladores.
Bienvenidos
L1f3 15 a D@nc3 Flo0r
lunes, 19 de mayo de 2008
Cannot resolve the collation conflict
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]