1
テーブルの各列から無効なレコードを検索するクエリがあります。データ型の長さはすべての列で同じではありません。これは、LTRIMとRTRIMを使用するとエラーが発生するためです。 "列" SubscriberLastName "の型が、UNPIVOTリストで指定された他の列の型と競合し、その列をCASTしても結果はありません。LRTIMとRTRIMを使用して無効なレコードを見つけてエラーテーブルに挿入するにはどうすればよいですか?
誰でも助けてくれますか?
Insert into ErrorTable (------) select (-----)
From (
select [SubscriberDataId]
,Case When ltrim(rtrim([SubscriberCode])) = '' Then [SubscriberCode] Else 'CorrectValue' end as [SubscriberCode]
,Case When ltrim(rtrim([SubscriberLastName]))= '' Then [SubscriberLastName] Else 'CorrectValue' end as [SubscriberLastName]
,Case When ltrim(rtrim([SubscriberFirstName]))= '' Then [SubscriberFirstName] Else 'CorrectValue' end as [SubscriberFirstName]
from Facets.SubscriberData) [sd]
Unpivot
(ErrorValue for FieldName in ([SubscriberCode],
[SubscriberLastName],[SubscriberFirstName])) as x
where x.ErrorValue <> 'CorrectValue'
こんにちは@Cyberkiwi、私はすでにそれを試みたが、私は結果が得られていません。私は3列のSubscriberDataId、ErrorValueとFieldNameを取得しており、3列はすべて空白です。 – Programmer
これは何のためになるのですか? 、ケースの場合.... [SubscriberFirstName] からFacets.SubscriberData'(内部選択) - 質問に追加します。 – RichardTheKiwi
SubscriberDataId(1、 2,3 ....)、SubscriberFirstName(CorrectValue、CorrectValue ....)の下に表示されます。 – Programmer