2017-06-14 10 views
-1

Ich versuche, eine Abfrage zu erstellen, und blieb an dieser Stelle stecken, wo ich einen Fehler erhalte: "Fehler beim Konvertieren von Datentyp varchar in numerisch."SQL VARCHAR zu numerischer Fehler, ohne VARCHAR fields enveloped

Heres der Code:

SELECT convert(numeric,convert(decimal(7,4), 
(
(SELECT SUM(pn.etiliquido-pn.qtt*pn.epcusto) from pn where (pn.fdata BETWEEN '2016-01-01' AND '2016-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0'))) 

/


(SELECT SUM((pn.etiliquido)) from pn where (pn.fdata BETWEEN '2017-01-01' AND '2017-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0')) *100 +'%')) 
    as Rentabilidade 

Keine der Tabellen ı'm calling varchar Daten hat, bin ich nicht bekommen, was ich bin falsch zu machen ...

+0

'X wie 'varchar'' erfordert' X' in einen Varchar für den Vergleich umgewandelt werden. –

+0

Warum verschachteln Sie so viele Aufrufe von 'CONVERT'? Außerdem könnte der Fehler überall dort auftreten, wo Sie Zahlen als Strings behandeln oder umgekehrt. –

+0

gut, ist das Ergebnis ohne die Konvertiten so etwas wie: 9.662.200,3200001 und ich wollte es Ausgabe etwas wie: 9662200,32 € Ive es auf diese Weise in andere wählt getan, aber dies, und zwar scheint nicht zu arbeiten weiß nicht warum ... – questionador

Antwort

0

gut, danke sowieso. nur durch das Entfernen von 2 Parenthesis habe ich am Anfang geschafft, was ich wollte. Raten Sie, was das Problem war, ich habe die falsche Variable isoliert.