に似てCOALESCE
いるが、そうでない値の関数はありNULL
ますか?
文字列リテラルを返す場合、スカラー値関数の戻り値を別の値に置き換える必要がありますN/A
。それが返される場合、NULL
私は使用できます:
SELECT COALESCE(dbo.GetFirstSsnInFromSsnOut(RMA.IMEI), RMA.IMEI) AS [IMEI to credit]
, OtherColumns
FROM dbo.TableName
しかし、それが返されるので、N/A
これは機能しません。私も使用できます:
SELECT CASE WHEN dbo.GetFirstSsnInFromSsnOut(RMA.IMEI)='N/A'
THEN RMA.IMEI
ELSE dbo.GetFirstSsnInFromSsnOut(RMA.IMEI)
END AS [IMEI To Credit]
, OtherColumns
FROM dbo.TableName
ただし、レコードごとに関数を 2 回実行する必要があるため、非効率的です。
このクエリはテーブル値関数内にあることに注意してください。