mercredi 4 février 2015

use variable as column name in where clause in sql


I want to use a variable as column name in my SQL query.


Problem:


I can not use dynamic SQL as the SQL query that I have is inside of a user defined inline table function.


What are other possible alternatives?


My code is as follows:



create function MatchStringPercent(@parameterFromUser nvarchar(20), @parameterInTable nvarchar(20))
RETURNS table As Return
SELECT Top(1)
cast(LEN(@parameterInTable) as float)/(Abs(LEN(@parameterFromUser) - LEN(@parameterInTable)) + LEN(@parameterInTable))* 100 As Match
FROM Demo
WHERE @parameterInTable = LEFT( @parameterFromUser , LEN(@parameterInTable) )
ORDER BY LEN(@parameterInTable) DESC
Go




Aucun commentaire:

Enregistrer un commentaire