Я хочу использовать переменную как имя столбца в моем SQL-запросе.использовать переменную как имя столбца в where where в sql
Проблема:
Я не могу использовать динамический SQL в качестве запроса SQL, что у меня есть, внутри определенной пользователем функции инлайн таблицы.
Так, 1. Невозможно использовать динамический SQL 2. Не удается заменить эту функцию с помощью хранимой процедуры, как это будет называться из определенных пользователем функций только
Каковы другие возможные альтернативы?
Мой код выглядит следующим образом:
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
Примечание: Это репост. Я задал этот вопрос here и сказал, что это невозможно. Может быть. но просто хотел узнать, есть ли какая-нибудь чертовская альтернатива.
Он работает с одним утверждением, но дает неправильный синтаксис рядом, перед следующим, когда в каждом утверждении. Какая может быть причина? – Simran