Как использовать строковые функции при передаче значений параметров

Как я могу использовать функцию при передаче параметров?

например, вы хотите использовать функцию LEFT() при передаче значения параметра в мою хранимую процедуру

как показано ниже:

Не работает при прямом использовании любой функции, как показано ниже:

EXEC [dbo].[MyStoredProcedure] @MyStringParameter = LEFT('ABCDEF',3);

Работает, если используется переменная, как показано ниже:

DECLARE @MyStr VARCHAR(3)=LEFT('ABCDEF',3);
EXEC [dbo].[MyStoredProcedure] @MyStringParameter = @MyStr;

В моем случае у меня есть список параметров, и я не хочу объявлять каждую переменную одну за другой. пожалуйста, скажите мне, есть ли способ использовать functions/udf вместо объявления переменной.


person Haseeb    schedule 06.03.2020    source источник
comment
Использование знака равенства — это не то же самое, что передача параметров... Или я что-то пропустил? Опубликуйте свой код SP, возможно   -  person Grantly    schedule 07.03.2020
comment
В качестве параметров можно передавать только константы или переменные, а не выражения.   -  person Larnu    schedule 07.03.2020
comment
@ Большое спасибо за предложение, пример кода упоминается в вопросе. фактический код здесь не поможет.   -  person Haseeb    schedule 07.03.2020