最佳答案
我们有一个日志表,其中有一个消息列,该列有时具有异常堆栈跟踪。我有一些标准来确定消息是否具有这个。我们不希望向客户显示这些信息,而是希望显示以下信息:
发生内部错误,请与我们联系 带有参考代码 Xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
其中 xxx etc 是表中的 guid 列:
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
是 SQLServer 中的 Guid 数据类型,此处不转换为字符串。我看过一些关于如何将 Guid 转换为字符串的代码,但它是多行的,我认为在 case 语句中不会起作用。有什么想法吗?