首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Select with Len - Conversion失败吗?

SQL Select with Len - Conversion失败吗?
EN

Stack Overflow用户
提问于 2014-02-26 00:18:09
回答 1查看 55关注 0票数 0

这是我的问题:

代码语言:javascript
复制
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是我必须替换的实际值)。有人能帮帮忙吗?Ps。我希望语句在代码块中是正确的。显然,我不明白如何正确地粘贴代码。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-26 00:25:02

不要紧。我不得不去掉修剪:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22019984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档