こんにちは、私は以下の小さなクエリがあります。SUBSTRINGを使用したSql CASE文?
SELECT SubscriberDataId,
SUBSTRING(FacetsData, 5, 9) SubscriberCode,
SUBSTRING(FacetsData, 14, 35) SubscriberLastName,
SUBSTRING(FacetsData, 50, 15) SubscriberFirstName
FROM Facets.FacetsImport
WHERE DataIndicator = 'DEM1'
を私は、このクエリでCaseステートメントを使用しようとしていますが、どのように知りません。私がしなければならないことは、上の3つのフィールドから無効なレコードを見つけなければならないということです。だから私は LEN(SubscriberCode) > 9
(9はデータ型の長さ)を使用し、9より大きい場合はエラーテーブルに挿入します。な長さ35および15
を有する他の2列についても同様の文字列が入力文字列が64
文字以上である場合にのみ、正しい長さを持つことになりますおかげ
これは固定幅データをインポートしたものですか? – buzzwang
あなたがここで行うことができるのは、 'FacetsData'の長さをチェックすることですか、何らかの方法で区切られていますか? –
'SUBSTRING'を使用して列の長さを渡すので、' LEN(SubscriberCode)> 9 'を持つことはできません。 'SUBSTRING'の長さに9を使用しています。 – Lamak