Неясно, что вы пытаетесь сделать, но вы не используете SUBSTRING()
правильно. При состоянии документа эта функция равна substring(expression, start, length)
. Вот ваша попытка (прокрутите вправо, чтобы прочитать комментарии):
CONVERT (VARCHAR (5000)
,SUBSTRING(Message, --expression
CHARINDEX ('^14=', Message) + 4, --start
CHARINDEX ('^', Message, CHARINDEX ('^14=', Message) + 4) - CHARINDEX ('^14=', Message) - 4 --length, needs a ) here to finish the SUBSTRING
,SUBSTRING(CHARINDEX ('^14=', Message) > 0, CHARINDEX ('^', Message, CHARINDEX ('^14=', Message) + 4)>0) --what is this? Starting a new column? Some part of the length arguement of the previous substring?
) AS [ErrorMessage] --closing the COMVERT
Вам понадобится объяснить, что вы пытаетесь сделать, чтобы получить дополнительную помощь. Возможно, у вас на руках проблема XY . Однако core проблемы с вашей попыткой:
- Вы пропускаете закрывающие скобки при первом
SUBSTRING()
вызове
- У вас слишком много аргументов в вашей
CONVERT()
функции