ユーザーが選択するテーブルの任意の列で検索を実行したい.このために、列の名前を格納する2つの文字列変数searchkeyと、検索する値のsearchvalueがあります。
これは同じことに対する私のクエリです:
and (Select Case @SearchKey
When 'Title' then Parcel.Title
When 'Unit_No' then Unit_No
When 'AgentName' then App_User.Name
When 'TenantName' then Client_Personal_Information.First_Name
When 'UnitRefNo' then Unit_Ref_No
End ) like @SearchValue
このクエリは正常に機能し、すべての列に nvarchar 型の値があるため、必要な出力が得られます。
しかし、これを上記のクエリに追加すると
When 'Rent' then Unit_Transform.Rent_Per_Annum
When 'SecurityDeposit' then [Unit_Transform].[Security_Deposit]
10 進数値を保持する列の場合、これら 2 つの列の出力のみが返されます。nvarchar 値を保持する列を選択すると、レコードが見つからないと表示されます。
なぜこれが起こっているのかについてのアイデア。