在TSQL中将字符串转换为uniqueidentifier时,转换失败

在TSQL中将字符串转换为uniqueidentifier时,转换失败,sql,sql-server,tsql,Sql,Sql Server,Tsql,我的T-SQL查询有问题: UPDATE a SET a.application = SUBSTRING(b.postdata, NULLIF( PATINDEX('%[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9][A-Za-

我的T-SQL查询有问题:

UPDATE a
SET a.application = 
            SUBSTRING(b.postdata,
                NULLIF(
                    PATINDEX('%[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]-%',b.postdata),0),36)
FROM [Lionel1].[dbo].[CSL_Logging_STAGE] a
INNER JOIN [Lionel1].[dbo].[CSL_Logging_STAGE] b ON b.Id = a.Id
WHERE 
    a.application LIKE '%000%' 
    AND a.postdata != '' 
    AND a.postdata IS NOT NULL
    AND a.http_method = 'post';
对于存储在应用程序列中的GUID,我尝试了几种不同的转换,并且我还重新构造了查询,使其具有子查询,但这没有什么区别

错误是

Msg 8169,16级,状态2,第3行
从字符串转换为uniqueidentifier时,转换失败

有人给我指出正确的方向吗

我试图设置为应用程序的一些值是

NULL
0dab3646-a4ed-4b63-9441-11e27fa36df8
f6a5c360-635a-48e0-bf71-76ef0b865441

看起来我需要更好地匹配appkey。它在一些比较中获取额外数据,添加引号和GUID中无效的额外字符

通过将更新更改为SELECT来测试您的查询,并查看您尝试将应用程序设置为什么值。我尝试将应用程序设置为什么值应该无关紧要。为什么要使用自联接?我使用联接是为了避免使用子查询我运行SELECT,它设置了GUID字符串或NULL