在strtok_split_to_table之后转换为日期

时间:2016-09-09 13:20:41

标签: sql teradata

在此查询中:

        SELECT 
            CAST(STRTOK(MY_STRTOK.new_line,';', 1 ) AS BIGINT) AS ID_EXPR, 
            CAST(STRTOK(MY_STRTOK.new_line,';', 2 ) AS DATE) AS DT_DEBT_VALD_CNT_FORM
        FROM TABLE (STRTOK_SPLIT_TO_TABLE(1, '83001590;2016-01-01¤', '¤')
             RETURNS (serialno INTEGER
                     ,rownum INTEGER
                     , new_line VARCHAR(32000)  CHARACTER SET UNICODE)
                     ) AS MY_STRTOK

当我将转换添加为第二个字段的日期时,它会返回错误。 可能是什么原因?

错误:

  

SELECT失败。 3707:语法错误,预期类似于')'   在' INT'之间关键字和'格式'关键字。

修复:

        SELECT 
            CAST(STRTOK(MY_STRTOK.new_line,';', 1 ) AS BIGINT) AS ID_EXPR, 
            CAST(STRTOK(MY_STRTOK.new_line,';', 2 ) AS DATE FORMAT 'YYYY/MM/DD') AS DT_DEBT_VALD_CNT_FORM
        FROM TABLE (STRTOK_SPLIT_TO_TABLE(1, '83001590;2016-01-01¤', '¤')
             RETURNS (serialno INTEGER
                     ,rownum INTEGER
                     , new_line VARCHAR(32000)  CHARACTER SET UNICODE)
                     ) AS MY_STRTOK

0 个答案:

没有答案