Mam zapytanie, które zwraca wartość kursu wymiany skonfigurowaną w naszym systemie. Nie każde zamówienie będzie miało kurs wymiany (currate.currentrate), więc zwraca wartości null.Zapytanie SQL, jeśli wartość jest pusta, a następnie zwraca 1
Czy mogę go przywrócić 1 zamiast wartości zerowej?
Coś jak if Być może:
if isnull(currate.currentrate) then 1 else currate.currentrate
Oto moje zapytanie poniżej. Bardzo doceniam twoją pomoc!
SELECT orderhed.ordernum, orderhed.orderdate, currrate.currencycode, currrate.currentrate
FROM orderhed LEFT OUTER JOIN
currrate ON orderhed.company = currrate.company AND orderhed.orderdate = currrate.effectivedate
Patrz [ 'ISNULL'] (http://msdn.microsoft.com/en-us/library/ms184325.aspx) (przeczytaj: używaj tego, jak został zaprojektowany). –
@ pst 'COALESCE' jest standardem SQL i jest ogólnie zalecany w tych przypadkach. również istnieją znaczne różnice w sposobie reagowania na typy danych. może powinieneś zgłosić swój komentarz z dodatkowymi informacjami. – swasheck
@swasheck Dokumentacja to robi. Łączy się również z COALESCE. –