Ich habe eine TSQL SELECT, die eine Null zurückgeben kann. Ich habe versucht, ISNULL zu verwenden, um es durch 0 zu ersetzen, aber aus irgendeinem Grund funktioniert es nicht. Die Tabelle Auswählen aus hat die folgenden Spalten:ISNULL funktioniert nicht in TSQL Wählen
- storeID -> int
- penaltyPercent -> DECIMAL (9,2)
- penaltyDate -> Datums- und Uhrzeit
SELECT ISNULL(penaltyPercent, 0.0) AS penaltyPercent
FROM dbo.Penalty
WHERE (penaltyDate = (SELECT MAX(penaltyDate) AS date
FROM dbo.Penalty AS Penalty_1
WHERE (penaltyDate <= @date) AND (storeID = @storeID))) AND
(storeID = @storeID)
Wenn das Datum vor dem ersten Strafdatum liegt (wenn es eine Strafe von 0 geben sollte), wird kein Ergebnis zurückgegeben. Nicht sicher, warum das nicht funktioniert. Ich habe eine Arbeit, aber es nervt mich. Hier
ist eine Probe der Daten verwendet wird:
storeID penaltyDate penaltyPercent
182 10/1/2008 12:00:00 AM 0.020000
182 11/1/2008 12:00:00 AM 0.040000
182 12/1/2008 12:00:00 AM 0.070000
formatieren Sie Ihre Antwort, es ist eindeutig auf diese Weise – eKek0
Danke allen, von einem relativen SQL-Noob. – monkeypushbutton