Tidak perlu, Anda bisa menyiasatinya dengan melakukan sesuatu seperti
SELECT *
FROM [Query]
WHERE (@Parameter = 1 AND Column1 = 8)
OR (@Parameter = 2 AND Column2 = 8)
OR (@Parameter = 3 AND Column3 = 8)
Namun, hanya karena Anda bisa melakukan sesuatu, bukan berarti Anda harus melakukannya. SQL yang kurang verbose tidak berarti kinerja yang lebih baik, jadi gunakan sesuatu seperti:
IF @Parameter = 1
BEGIN
SELECT *
FROM [Query]
WHERE Column1 = 8
END
ELSE IF @Parameter = 2
BEGIN
SELECT *
FROM [Query]
WHERE Column2 = 8
END
ELSE IF @Parameter = 3
BEGIN
SELECT *
FROM [Query]
WHERE Column3 = 8
END
sementara setara dengan kueri pertama akan menghasilkan kinerja yang lebih baik karena akan dioptimalkan dengan lebih baik.