У нас есть таблица журнала, в которой есть столбец сообщений, который иногда содержит трассировку стека исключений.У меня есть некоторые критерии, которые определяют, есть ли в сообщении это.Мы не хотим показывать эти сообщения клиенту, но вместо этого имеем сообщение типа:
Произошла внутренняя ошибка.Свяжитесь с США, указав код ссылки xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
, где xxx и т. Д. - это столбец подсказок в таблице.Я пишу хранимую процедуру следующим образом:
declare @exceptionCriteria nvarchar(50)
select @exceptionCriteria = '%<enter criteria etc>%'
select LogDate,
case
when Message like @exceptionCriteria
then 'Internal Error Occured. Reference Code: ' + str(RequestID)
else Message
end
from UpdateQueue
RequestID
является типом данных Guid в SQL Server и не преобразуется в строку здесь.Я видел некоторый код о том, как преобразовать Guid в строку, но он многострочный, и я не думаю, что он будет работать в выражении case.Есть идеи?