Я хотел бы повторно использовать код, не создавая новый элемент под узлом Programmability в SQL Server Management Studio.Процедура или функция Transact SQL, которая существует в пределах области действия программы
В сущности, мне нужно разделить поле с точками шкалы с запятой с запятой и средними значениями. Поэтому, если у меня есть поле, которое выглядит как '6;10;7;8;9'
. Мне нужно разделить это поле на 5 отдельных баллов и усреднить их.
Для этого мне сначала нужно получить положение каждой точки с запятой.
Delimiter1 = CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE, 'Worst Pain',
'10'), 'No Pain', 0))
Delimiter2 = CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE, 'Worst Pain',
'10'), 'No Pain', 0), CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE,
'Worst Pain', '10'), 'No Pain', 0)) + 1)
Таким образом, вместо
Delimiter2 = CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE, 'Worst Pain',
'10'), 'No Pain', 0), CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE,
'Worst Pain', '10'), 'No Pain', 0)) + 1)
я мог бы использовать
Delimiter2 = CHARINDEX (';' , replace( replace(ifm.MEAS_VALUE, 'Worst Pain',
'10'), 'No Pain', 0), Delimiter1 + 1)
функции или процедуры было бы идеально, так как я мог установить переменные для позиций запятой поля в каждой записывать, делить их на значения и средние.
Единственное, что я не хочу, чтобы процедура или функция сохранялись после завершения кода. Есть ли пример того, что кто-то повторно использует код в модульном режиме в рамках кода, не оставляя за собой совершенно новую процедуру или функцию?
Заранее спасибо.
Вы можете попробовать сделать Delimiter1 CTE (Common Table Expression). –