2015-12-18 1 views
-1

J'utilise SQLCMD pour exporter une requête SQL de mon serveur.SQLCMD - suppression de l'horodatage des champs de date et de formatage à 2 décimales

L'un des domaines que je suis l'exportation est un champ de date - mais quand il est exporté, il a un horodatage aussi bien - par exemple: 15/12/2015 00: 00: 00.000

Comment puis-je à propos de la suppression de l'horodatage de la date telle qu'elle est: 2015-12-15

En outre, dans les autres champs exportés qui ont des données numériques, il exporte automatiquement à 6 positions décimales. Comment puis-je formater les champs avec 2 décimales?

Au moment où le SQLCMD cherche comme ceci:

SQLCMD -S <server name> -d <db name> -U <username> -P <password> -Q 
"set nocount on; 
SELECT 
T0.DocNum, 
T0.CardCode, 
T0.CardName, 
T0.DocDate, 
T0.DocTime, 
T0.U_FreightEntry, 
T1.ItemCode, 
T1.Dscription, 
T1.CodeBars, 
T1.Quantity, 
(((100-T0.DiscPrcnt)/100)*T1.Price) as 'Price per unit ex GST', 
((((100-T0.DiscPrcnt)/100)*T1.Price)*1.1) as 'Price per Unit Inc GST', 
(SELECT T6.Price FROM ITM1 T6 where T6.ItemCode = T5.Itemcode and T6.PriceList = '2') as 'RRP inc GST per unit', T0.VatSum, T0.DocTotal as 'Inv Total' 
FROM dbo.OINV T0 INNER JOIN dbo.INV1 T1 ON T0.DocEntry = T1.DocEntry 
INNER JOIN dbo.OCRD T2 ON T0.CardCode = T2.CardCode 
INNER JOIN dbo.OCRG T3 ON T2.GroupCode = T3.GroupCode 
INNER JOIN OPLN T4 ON T2.ListNum = T4.ListNum 
INNER JOIN OITM T5 ON T1.ItemCode = T5.ItemCode 
INNER JOIN ITM1 T6 ON T5.ItemCode = T6.ItemCode and T6.Pricelist = '1' 
WHERE T3.GroupName = 'NEWSXPRESS' and T0.DocDate = '20151215' 
ORDER BY T0.DocNum" 
-s "," -o "<server address>\NewsxpressInvoices_%DATE:~4,2%_%DATE:~7,2%_%DATE:~-4%.csv" -h-1 -s"~" -W -w 999 

Toute aide serait grandement apprécié.

Cordialement Rick

+1

Vous devriez faire une tentative de formater la requête dans votre question. –

+0

apologies gordon - je suis un utilisateur rare de stackoverflow et je n'étais pas à travers le ctrl + K entreprise de code indentant – Rick

Répondre