ストアドプロシージャを調べていると、次のような多くの行が表示されます。
case when len(isnull(INVOICE.INVOICE_DATE,'')) > 0
and isdate(INVOICE.INVOICE_DATE) = 1
then convert(datetime,INVOICE.INVOICE_DATE)
else null end
と
case when len(isnull(SHIPMENT.NET_AMOUNT_DUE,'')) > 0
and isnumeric(SHIPMENT.NET_AMOUNT_DUE) = 1
then convert(money,SHIPMENT.NET_AMOUNT_DUE)
else null end
ISNULL
とLEN
チェックが常にある理由がわかりません。私が見逃しているいくつかの利点はありますか?逆に、コードが現在どのように記述されているかについて何か不利益はありますか?