2016-07-11 15 views
1

Hallo ich bin neu in SQL und benötigen folgende werfen Anweisung von varchar(255) zu decimal(6,2) konvertieren ich viele Möglichkeiten ausprobiert, aber konnte es nichtSQL CAST oder Konvertierung

case when [ A 2 cost] = ' £- ' then '0' else [ A 2 cost] end as Costing 

das Ergebnis [A 2 Cost] in Ziel erreichen wird decimal(6,2) Datentyp, aber in der Quelle ist es varchar(255)

+0

Ich bin mit Microsoft SQL Server 2000 - 8.00.2066 (Intel X86) –

+0

, was Sie mit '[A 2 Kosten] bedeuten' ? –

+0

ist es ein Spaltenname –

Antwort

1

Versuchen sie, diese

case when [ A 2 cost] = ' £- ' 
then 0.0 else cast([ A 2 cost] as decimal(5,2)) end as Costing 

, wenn die anderen Spalten £ am Anfang enthalten, müssen Sie es reinigen:

case when [ A 2 cost] = ' £- ' 
then 0.0 else cast(REPLACE([ A 2 cost],'£','') as decimal(5,2)) end as Costing 
+1

TY tut mir leid, ich konnte das Problem nicht klar in Frage erklären, wie ich ein Neuling in diesem Bereich bin, aber Sie es richtig sortiert .. –