Ich versuche, mit einer SQL-Anweisung zu kommen, die den Kilometerzähler konvertiert, wenn in km in Meilen gespeichert. Wenn der Kilometerzähler in Meilen gespeichert wird, verlässt er wie er ist. Nach der Konvertierung muss dann nach Suchparametern, d. H. Kilometerstand, gesucht werden.Mathematische Funktion in Sql Case Statement
Die Schritte, die ich unternommen habe, verwendet die Case-Anweisung.
Hier ist mein Ausschnitt aus der Select-Anweisung, die ich derzeit benutze:
DECLARE
@Mileage NVARCHAR(75) = NULL,
@IsMiles BIT = 1,
@Converted NVARCHAR(75) = NULL
SELECT [Id],Odometer,IsMiles,
CASE IsMiles when 0 THEN OdometerValue * 0.62137
else Odometer end
FROM [dbo].[Vehicle]
where IsMiles = 0
Gibt es trotzdem, das Ergebnis der Case-Anweisung zu ConvertedOdometer passieren. Ich möchte diesen Wert verwenden, um die Mileage-Parameter für die Suche zu ermitteln.
So etwas mit dieser Bedingung:
(ConvertedOdometer >=0 AND ConvertedOdometer <= @Mileage)
Ich bin neu in Case-Anweisung haben, um diese Führungen verwendet:
Sie können nur sagen CASE ... END AS 'ConvertedOdometer' – RichardCL
@RichardCL Dank. Ich habe das AS-Keyword an einem falschen Ort platziert. Das löst das Problem – yuvs
Es ist so einfach zu tun! :-) Werfen Sie einen Blick auf Microsoft SQL Server 2012 T-SQL-Grundlagen von Itzik Gen-Gan> Kapitel 5: Tabellenausdrücke> Abgeleitete Tabellen> Zuweisen von Spaltenaliasen. – RichardCL