元従業員のクエリを見ていて、WHERE句に-1を使用していることに気付きました。私は、-1が何をしているのか解説を見つけるためにオンラインで検索しようとしましたが、答えが見つかりません。誰でもこの-1の機能が何であるか私に説明することはできますか?なぜSQLで-1を使用するのですか
WHERE
(
@EmployeeId = -1 OR
tblReg.PurchaseOrderId IN (SELECT DISTINCT r2.PurchaseOrderId
FROM Registration r2
INNER JOIN PurchaseOrder p2 ON p2.PurchaseOrderId = r2.PurchaseOrderId
WHERE p2.statuscid = 1 AND r2.IsBillable = 1 AND r2.SetNonBillable = 0 AND r2.EmployeeId = @EmployeeId
AND r2.RegistrationDate < @EndDate AND r2.RegistrationDate >= @StartDate)
)
このパラメータを選択しないと、パラメータは-1に設定されます。この場合、2番目の基準が使用されます。 – JohnHC
おそらく「無価値」を意味する[マジックナンバー](https://en.wikipedia.org/wiki/Magic_number_(プログラミング))です。古いバージョンの.NETのようないくつかのプログラミング言語はnull値をサポートしていなかったので、-1を使用してnullを表しました。これは単なる大会ですが、特別なことを意味するものではありません。それは単なる数字です。 – vcsjones
それは単なる数字です。パラメータが-1に設定されている必要があります。おそらく、特定の従業員ではなく「全従業員」のためのものでしょうか? – MatBailie