开发者社区> 问答> 正文

PowerShell-插入SQL表时发生转换错误

我正在导入CSV文件,并将数据插入到SQL表中。但是,由于数据质量问题,我面临转换问题。

ExecuteNonQuery”,参数为“ 0”:“从字符串转换日期和/或时间时,转换失败。

该字段包含格式20191206和NULL值的日期。

该列的插入语句如下所示convert(varchar, @Column9, 112)。我尝试了各种不同的日期格式和转换,但是我总是收到此错误!我能做什么?

展开
收起
心有灵_夕 2019-12-06 19:31:03 767 0
1 条回答
写回答
取消 提交回答
  • 如果输入是文本,而目标列是日期时间类型?然后尝试转换字符串。

    一个TRY_CONVERT或TRY_CAST时转换失败,将返回NULL。

    所以试试这个:

    TRY_CONVERT(DATETIME, @Column9, 112)
    
    

    要么:

    TRY_CAST(@Column9 AS DATE)
    
    

    如果目标列是VARCHAR / NVARCHAR? 如果转换失败,则将COALESCE还原为原始值。

    COALESCE(CONVERT(VARCHAR, TRY_CONVERT(DATETIME, @Column9, 112), 21), @Column9)
    
    

    要么:

    COALESCE(CONVERT(VARCHAR, TRY_CAST(@Column9 AS DATETIME), 21), @Column9)
    
    2019-12-06 19:32:35
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载