Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Select与Len-转换失败?_Sql_Type Conversion_Patindex - Fatal编程技术网

SQL Select与Len-转换失败?

SQL Select与Len-转换失败?,sql,type-conversion,patindex,Sql,Type Conversion,Patindex,这是我的疑问: SELECT at.AssetTag, dp.Custodian, CASE WHEN PATINDEX('%_%', dp.Custodian) = '0' THEN dp.Custodian ELSE RIGHT(LTRIM(RTRIM(dp.Custodian)),LEN(LTRIM(RTRIM(dp.Custodian)) - PATINDEX('%_%', dp.Custodian))) END AS FirstName, CASE WHEN PATINDEX('

这是我的疑问:

SELECT at.AssetTag, 
dp.Custodian,
CASE WHEN PATINDEX('%_%', dp.Custodian) = '0'
THEN dp.Custodian 
ELSE RIGHT(LTRIM(RTRIM(dp.Custodian)),LEN(LTRIM(RTRIM(dp.Custodian)) - PATINDEX('%_%', dp.Custodian))) END AS FirstName, 
CASE WHEN PATINDEX('%_%', dp.Custodian) = '0' 
THEN '' 
ELSE LEFT(dp.Custodian, PATINDEX('%_%', dp.Custodian)-1) END AS LastName, RIGHT(at.Assettag,3) AS MediaTypeSuffix
FROM tblAssetTracking at (NOLOCK) 
INNER JOIN tblDiscoveryProcessing dp (NOLOCK) ON dp.FKAsset = at.ID 
WHERE dp.Custodian Is Not Null
当我运行它时,我得到一个错误“将nvarchar值'XXX'转换为数据类型int时转换失败”(XXX是我必须替换的实际值)。有人能帮忙吗?我希望这句话进入了代码块。显然,我不明白如何正确地粘贴代码


谢谢

无所谓。我不得不去掉修剪:

SELECT at.AssetTag, 
dp.Custodian, 
CASE WHEN PATINDEX('%[_]%', dp.Custodian) = '0'
    THEN dp.Custodian 
    ELSE RIGHT(dp.Custodian,LEN(dp.Custodian) - PATINDEX('%[_]%', dp.Custodian))
END AS FirstName, 
CASE WHEN PATINDEX('%[_]%', dp.Custodian) = '0' 
    THEN '' 
    ELSE LEFT(dp.Custodian, PATINDEX('%[_]%', dp.Custodian)-1) 
END AS LastName, 
RIGHT(at.Assettag,3) AS MediaTypeSuffix
FROM tblAssetTracking at (NOLOCK)
INNER JOIN tblDiscoveryProcessing dp (NOLOCK) ON dp.FKAsset = at.ID
WHERE dp.Custodian Is Not Null