当前位置: 首页 > 知识库问答 >
问题:

在雪花中无法识别数值“ABC_0011O00001Y31VPQAI”

谈琦
2023-03-14

无法识别数值“ABC_0011O00001Y31VPQAI”

检查表DDL,发现只有3列定义为NUMBER,而rest定义为VARCHAR。

我检查了SELECT查询,在这些NUMBER Datatype列中没有找到任何字符串值。我还尝试在所有Varchar列中搜索值'ABC_0011O00001Y31VPQAI',但没有找到任何

我知道一件事,雪花并不总是显示正确的错误。我是不是漏掉了什么?有什么办法能修好它吗?

col4_mrrcol5_quantity都是number

    INSERT INTO TABLE
    (COL1_DATE, COL2_CD, COL3_CUST_NAME, COL3_LOC_NAME,COL4_MRR,COL5_QUANTITY)

    SELECT 
     '2019-10-03' AS COL1_DATE ,
       'AE' AS COL2_CD
       ,CUSTOMER_NAME AS COL3_CUST_NAME
       ,LOCATION_NAME AS COL3_LOC_NAME
       ,MRR_BILLED as COL4_MRR
       ,QTY_BILLED as COL5_QUANTITY
    FROM SCHEMA.V_TABLEA
    union all 
            SELECT 
     '2019-10-03' AS COL1_DATE ,
       'BE' AS COL2_CD
       ,CUSTOMER_NAME AS COL3_CUST_NAME
       ,LOCATION_NAME AS COL3_LOC_NAME
       ,NULL as COL4_MRR
       ,QTY_BILLED as COL5_QUANTITY
    FROM SCHEMA.V_TABLEB

我创建了一个与原始表相同的table_D,并尝试插入其中,它工作得很好。然后从table_D插入到原始表中,它再次工作。

客户机目前正在等待第二天的运行以重新测试,以确定这是错误还是数据的问题。与此同时,我们有兴趣看看是否有其他人遇到了类似的挑战,并有一个可行的建议。谢谢你。

共有1个答案

西门洛城
2023-03-14

该错误通常意味着您试图将非数值数据(如“ABC_0011O00001Y31VPQAI”)插入到数值列中。似乎客户在测试中做得很好,并且TRY_TO_NUMBER()是验证数字数据的一个很好的方法。

SELECT查询单独运行正常吗?如果是这样,那么我将检查列的datatype是否存在潜在的不匹配,并确保它们的顺序正确。

我还将检查是否在文件中跳过了头(这可能是'ABC_0011O00001Y31VPQAI'的来源,因为客户在数据中没有看到它)。

 类似资料: