これは私のクエリです:
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。ステートメントがコードブロックに正しく入っていることを願っています。どうやら、コードを正しく貼り付ける方法がわかりません。
ありがとう!