2

すでに派生した列「Sub1」にデフォルトのテキスト値を設定しようとしていますこれは可能ですか?値0を使用して派生する列のプレースホルダーを作成しました。重要な場合はTeradataで作業しています.....ありがとうございます。

select c_clm
,dt.Claimant_Name
,dt.i_ssn
,0 as "Time_Period"
,0 as "Unit_ID",
/*,idv.C_PDT AS "Product"
,er.C_FRM_POL AS "Group Product",*/
(case
 when idv.c_pdt is null then 'GLTC' 
 else idv.c_pdt
 end) as "Product_ID"
,c_ams_clm as "DBS_UserID"
,upc_indiv_org_id as "DBS_EEID"
,0 as "Categ"
,0 as Categ_sort
,0 as "Sub1"
,0 as "Sub1_Sort"
,0 as "Sub2"
,0 as "Sub2_Sort"
,0 as "MTD_Num" 
,0 as "MTD_Denom"
,dt.i_pol as "Policy_Number"
,COALESCE (erpol.n_pol,idv.n_pol, ks.n_pol) 
4

2 に答える 2

26

これを行おうとしていますか:

select '0' as Sub1

数値と同じように、テキスト値を直接割り当てることができます。

または、SELECTでNULLの列に値を割り当てようとしていますか?これを行うには、COALESCEを使用します。

select coalesce(Sub1, '0') as Sub1
于 2012-08-30T19:32:52.277 に答える
4

文字列定数を使用して列に入力する方法を尋ねている場合は、単一引用符で囲んで名前を付けてください。通常は、目的の列タイプを指定することも最適です。例えば:

select 'Text String' (VARCHAR(255)) as sub1

二重引用符を使用すると、Teradata はその名前で列を参照していると見なすことに注意してください (したがって、受け取ったエラー メッセージ.

于 2012-08-30T19:45:51.967 に答える