Я пытаюсь получить col
и value
в качестве параметра функции и планирую использовать их в запросе.
К сожалению, мое значение для @Col
обрабатывается как string
, а не как идентификатор столбца.
то есть, если я укажу name
в качестве значения параметра @Col
, он будет обрабатываться как 'name'
вместо name
, и, следовательно, вызов функции всегда возвращает NULL
в результате
Сталкивались ли вы с подобными ситуациями?Не могли бы вы порекомендовать мне лучший способ справиться с этой ситуацией?
Вот моя функция для справки:
CREATE FUNCTION [dbo].[FN_FindIdBy]
(
@Col NVARCHAR(255),
@Value NVARCHAR(255)
)
RETURNS INT
AS
BEGIN
DECLARE @Id INT = NULL
SET @Id = (SELECT ID FROM dbo.MYWORK WHERE (CONVERT(NVARCHAR(255), @Col) = @Value))
IF @Id IS NOT NULL RETURN @Id
RETURN NULL
END
Большое спасибо за внимание к этому.