Benutzer mit den meisten Antworten
Formatierung Subselect

Frage
-
Ich habe eine Frage zur Formatierung einer Subselect - Abfrage. Ich habe folgende Abfrage:
select dbo.Tabelle.Feld,
(select CAST(ROUND((COUNT(*)/2),1) AS int) from [DB].dbo.Tabelle where (Bedingung) as ES_now
from dbo.Tabelle
Die Berechnung des Wertes in der Unterabfrage funktioniert tadellos und die ganze Abfrage ist auch o.k. Das einzige Problem ist, dass der berechnete Wert (ES_now) als Text ausgegeben wird und wohl demzufolge keine Dezimalstellen enthält.
Wie man sieht, habe ich mit CAST versucht, das Problem gleich bei COUNT zu lösen, aber ohne Erfolg.
Ich wäre um einen Tipp sehr froh!
Vielen Dank und beste Grüsse
Martin Schneider
Antworten
-
Hallo Martin,
das Problem ist, dass das Ergebnis von COUNT ein int ist, damit wird das weitere Ergebnis auch gecastet.
Dein expliziter Cast in int ist dann zusätzlich hinderlich, denn wo soll bei einem int die Nachkommastelle herkommen?
SELECT CONVERT( float, COUNT( 1 ) ) / 2 FROM <Tabelle>
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Martin Schneider Donnerstag, 24. November 2011 13:02
- Tag als Antwort aufgehoben Martin Schneider Donnerstag, 24. November 2011 13:04
- Als Antwort markiert Martin Schneider Donnerstag, 24. November 2011 13:04
Alle Antworten
-
Hallo Martin,
das Problem ist, dass das Ergebnis von COUNT ein int ist, damit wird das weitere Ergebnis auch gecastet.
Dein expliziter Cast in int ist dann zusätzlich hinderlich, denn wo soll bei einem int die Nachkommastelle herkommen?
SELECT CONVERT( float, COUNT( 1 ) ) / 2 FROM <Tabelle>
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Martin Schneider Donnerstag, 24. November 2011 13:02
- Tag als Antwort aufgehoben Martin Schneider Donnerstag, 24. November 2011 13:04
- Als Antwort markiert Martin Schneider Donnerstag, 24. November 2011 13:04