ich gerade angefangen habe mit SQL und ich habe eine ziemlich grundlegende Frage:Operand Datentyp varchar ist ungültig für divide Operator
ich 2 Spalten versucht Teilen (Menge/Rate) - I umgewandelt sie von dem Geld "auf‚INT‘, aber wenn ich die Ausführung versucht, es gab mir diesen Fehler:
Operand data type varchar is invalid for divide operator.
Dies ist die Abfrage ich tippte:
select referenceid,
CONVERT(decimal(15,3), sellamount) as 'amount',
convert(decimal(15,3), rateactual) as 'Rate',
convert(decimal(15,3),'amount'/'rate') as 'local amount'
FROM currencyfxconversions
Kann mir jemand helfen zu verstehen, was ich falsch gemacht habe?
''Rate'' ist in' varchar' Typ .. Sie müssen möglicherweise 'convert (Dezimal (15,3),' Betrag '/ konvertieren (Dezimal (15,3), rateactual)' anstelle von 'convert (dezimal (15,3), 'betrag'/'rate')'. – Wanderer
sql-server und MySql sind zwei verschiedene Produkte –
Was möchten Sie tun? 'rate' ist eine Zeichenkette, die die Zeichen enthält 'r', 'a', 't' und 'e'. Sie können die Zeichenkette 'menge' nicht mit der Zeichenkette 'rate' teilen. Wenn Sie Alias-Namen verwenden möchten, verwenden Sie die doppelten Anführungszeichen, z. - einfache Anführungszeichen sind für String-Literale, aber dann: Sie können den Alias-Namen nicht in der select select-Klausel verwenden, in der Sie ihn definieren, da es keine Reihenfolge gibt, in der die Werte ausgewertet werden (zB die Zeile 'as" local amount ") vor der Zeile 'as" betrag "ausgeführt werden.) –