Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/09/2012, 15:31
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Respuesta: Uso de CASE WHEN en proceso BCP

Gracias por vuestras respuestas.
La verdad es que no estoy usando ningún archivo de formato. Quizá ese sea el problema... ¿Es posible?
Para la pregunta de si devuelve NULL, pues no. Esa misma consulta puedo ejecutarla en el Management Studio y me devuelve los resultados correctamente.
No quería hacerlo, pero quizá sea mejor así, os dejo todo el chorretón, a ver si es que puede haber algo extraño. Al fin y al cabo es bastante sencillo:
Código SQL:
Ver original
  1. DECLARE @command VARCHAR(1000)
  2. SET @command = 'BCP "SELECT LTRIM(RTRIM([CodigoProducto])) AS CodigoProducto, LTRIM(RTRIM([CodigoSubFamilia])) AS CodigoSubFamilia, LTRIM(RTRIM(REPLACE(REPLACE(REPLACE(REPLACE([Nombre1],CHAR(10),""\n""),CHAR(13),""\n""),""  "",""\n""),"";"","",""))) AS Nombre, [PrecioUnidad1] AS PrecioUnidad1, CASE WHEN DtoImporteP>0 AND ImporteDtoP<=0 THEN DtoImporteP ELSE 0 END AS Descuento FROM tabla ORDER BY CodigoSubFamilia, Nombre1" queryout "C:\tabla.csv" -w -t; -T'
  3. EXEC master..xp_cmdshell @command
Como he comentado, si a todo esto le quito la última columna de la SELECT, entonces genera el fichero CSV correctamente, como lleva tiempo haciéndolo.
No sé por qué el hecho de añadir esa columna deja de generar el fichero.
Cualquier comentario se agradece.
Saludos.
__________________
..:: moNTeZIon ::..

Última edición por moNTeZIon; 26/09/2012 a las 15:37