ISNULL条件を使用して学生の住所を確認する方法は次のとおりです。 それは正常に動作しますが、ISNULL関数がヌルコーディション、つまり最初の条件がnullの場合に表示される2番目のパラメータをどのように処理するかを示します。SQL ServerでのISNULLの実行
最初の条件がnullでない場合、2番目のパラメータの値が計算されますか? ISNULL内部
select
...
...
(CASE
WHEN st.ADDRESS='Y' THEN st.LOCATION
ELSE
ISNULL(
(SELECT TOP 1 STDLOC.LOCATION FROM STDLOC
INNER JOIN COMLOC ON STKLOC.LOCATION=COMLOC.CODE AND COMLOC.ADDRESS='Y'
WHERE STDLOC.ZIBCODE=st.ZIBCODE)
,(SELECT TOP 1 COMLOC.LOCATION FROM COMLOC COMLOC.ZIBCODE=st.ZIBCODE))
END
) AS STDUDENTLOCATION
FROM STUDENT st
は、あなたが求めている:
このPOSTは、質問に対する良い答えを提供しますか?ところで、ORDER BY句なしでTOP 1を選択すると、ORDER BY句なしで返される行の順序が保証されないため、実際には1つのランダムレコードが取得されます。 –
最初の値がnullでない場合Isnullは2番目の条件内のwhatsをチェックしません?? –