我正在尝试在Teradata中创建查询,但它给我REPLACE VIEW Failed。3706:语法错误:预期在')'和','之间。
replace VIEW view as
select
a.ID_CD,
a.SEX ,
x.BIRTHDATE as BIRTHDATE_DT,
case when (substring((x.cfisc_de), 12 , 5)=' ') then x.cfisc_de else null end as PIVA_CD,
case when (substring((x.cfisc_de), 12 , 5)<>' ') then x.cfisc_mask_de else null end as CFISC_CD,
FROM table1 a
INNER JOIN table2 x
ON a.ID_CD=x.ID_CD
Teradata支持子字符串的两种变体:
SUBSTRING(col FROM n FOR m)
SUBSTR(col, n , m)
您写了两者的混合体。根据某些ODBC设置,这可能会起作用(它会由ODBC驱动程序自动更改为有效的SQL,但仅在SELECT中),但是在CREATE或使用.NET / JDBC / CLI时将失败。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句