添加转换数据类型时输入不匹配 'MT_DVS' 期望 SEMI_COLON

mismatched input 'MT_DVS' expecting SEMI_COLON when adding casting data type

我在我的代码中看不到任何语法问题:

E1ECPRA = FOREACH E1ECPRA_BRUT GENERATE
    IsStringNull(CD_SI,'')                          AS CD_SI,
    IsStringNull(CD_EFS,'')                         AS CD_EFS,
    IsStringNull(IDT_ETT_CTR,'')                            AS IDT_ETT_CTR,
    IsStringNull(NO_PCI,'')                                 AS NO_PCI,
    IsStringNull(CD_DVS_ORI,'')                     AS CD_DVS_ORI,
    IsStringNull(CD_NOR_CG,'')                      AS CD_NOR_CG,
    IsStringNull(CD_BT,'')                              AS CD_BT,
    IsStringNull(CD_CRV_CIA_ORI,'')                  AS CD_CRV_CIA_ORI,
    IsStringNull(NO_STR_CPB,'')                     AS NO_STR_CPB,
    IsStringNull(NO_STR_RPQ,'')                     AS NO_STR_RPQ,
    MT_DVS                                          AS (float) MT_DVS,
    MT_CVE                                          AS (float) MT_EUR,
    IsStringNull(NO_CTR_MTR_FUS,'')                AS NO_CTR_MTR_FUS,
    IsStringNull(CD_PCEC,'')                        AS CD_PCEC,
    IsStringNull(CD_TY_PCEC,'')                     AS CD_TY_PCEC,
    IsStringNull(CD_ACT_CG,'')                      AS CD_ACT_CG,
    IsStringNull(CD_APL_SRC,'')                     AS CD_APLI_SRC,
    IsStringNull(CD_LET_CPT,'')                     AS CD_LET_CPT;

或者程序return这行错误:

MT_DVS                                          AS (float) MT_DVS,

mismatched input 'MT_DVS' expecting SEMI_COLON

这里有语法错误吗?

(float)MT_DVS  AS  MT_DVS,
(float)MT_CVE  AS  MT_EUR,

或者

MT_DVS:float  AS  MT_DVS,
MT_CVE:float  AS  MT_EUR,