Problem mit führenden Nullen

24/09/2007 - 20:34 von Hans | Report spam
Hallo,

ich habe eine Tabelle in der stehen im Feld PCDgewinn Werte z.B. 0.43 oder
0.47

wenn ich nun einen Datenexport mache per DTS, die Abfrage sieht so aus:

SELECT PCDProfitcenter AS Profitcenter, PCDgewinn AS [Gewinn über
Budget], PCDmarge AS Marge, PCDbook2bill AS Book2Bill
FROM dbo.ProfitcenterData_AM

Erhalte ich in dem TXT File Werte .43 und .47

Ich möchte aber die Daten auch so haben wir sie in der Tabelle stehen, warum
unterschlàgt mir der Export die führenden Nullen? Wie kann ich das
bewerkstelligen das die Werte korrekt in das File kommen, was muss ich an
meiner Abfrage àndern?
 

Lesen sie die antworten

#1 Christoph Muthmann
25/09/2007 - 08:00 | Warnen spam
Hans wrote:
Hallo,

ich habe eine Tabelle in der stehen im Feld PCDgewinn Werte z.B. 0.43
oder
0.47

wenn ich nun einen Datenexport mache per DTS, die Abfrage sieht so
aus:

SELECT PCDProfitcenter AS Profitcenter, PCDgewinn AS [Gewinn über
Budget], PCDmarge AS Marge, PCDbook2bill AS Book2Bill
FROM dbo.ProfitcenterData_AM

Erhalte ich in dem TXT File Werte .43 und .47

Ich möchte aber die Daten auch so haben wir sie in der Tabelle
stehen, warum unterschlàgt mir der Export die führenden Nullen? Wie
kann ich das bewerkstelligen das die Werte korrekt in das File
kommen, was muss ich an meiner Abfrage àndern?



Hallo Hans,
Du siehst bestimmt nicht das interne Format in dem die Zahlen abgelegt
sind, sondern immer nur die Pràsentation in einer GUI. Der
Query-Analyzer zeigt mir z. B. .43, wàhrend das Management Studio 0.43
daraus macht. Select und Print zeigen beim Query Analyzer
unterschiedliche Ergebnisse.

Die Aufbereitung ist also eine Frage des Clients, bzw. muss hàndisch
erfolgen.

Set Nocount on
declare @mytest decimal(5,2)
set @mytest = 0.42

select @mytest as 'select'

print 'print '
print @mytest

create table #test (mydec decimal(5,2))

insert into #test values(0.42)
insert into #test values(0.44)

select mydec as 'select mit test' from #test where mydec = @mytest

select mydec as 'select ohne cast' from #test
select cast(mydec as varchar(6)) as 'select mit cast' from #test


drop table #test

Einen schönen Tag noch,
Christoph
(Please post ALL replies to the newsgroup only unless indicated
otherwise)

Ähnliche fragen