【问题标题】:Sql server bcp export binary in csv, How do I replace it with ''?"sql server bcp export binary in csv,如何用''替换它?
【发布时间】:2019-04-23 21:41:29
【问题描述】:

我有一张空的表

使用 bcp 导出时,按以下方式导出;带有字符“?”

bcp  table out table.csv -S local -U sa -d BD -c -t '|'

这个问题的一些解决方案,来自 bcp

【问题讨论】:

  • Brayan - 没有“?”在文件中。我相信“?”您看到的正是您的文本编辑器选择表示 ANSI“nul”字符的方式。如果要将该文件加载到另一个 SQL Server 中,您可能希望该文件在其中保留 ANSI“nul”。在花时间定义摆脱“?”的方法之前在文件中,我首先要确保您实际上不希望文件中包含 ANSI“nul”字符。您提到了迁移……从 SQL Server 迁移到什么?另一个 SQL Server?如果是这样,那么您肯定希望将 ANSI“nul”保留在文件中。它们将作为空字符串加载。

标签: sql sql-server csv export bcp


【解决方案1】:

遇到同样的问题并解决了

 -k

希望它也对你有用;)

好吧,当然它不会起作用...那些字段设置为不为 NULL。 你应该改变它。 如果您希望数据仍然不为 NULL,则应为表中的 NULL 元素添加标准值

select case 
      when user_Name is null then "default value" 
      else user_name 
   end  

【讨论】:

  • 请举个例子
  • 如果你想让表格显示“NULL”你只需要使用-k
  • 还是一样,会不会是空字段?
  • 我不想冒犯您,但是..您是否在数据库中将它们设置为“NULL”...我的意思是,这些值可以为 NULL 吗? -k 应该将可以为空的字段转换为“NULL”(如果它们为空)
  • 我没有构建那个 bd 并且在不使这些字段为空的方案中
【解决方案2】:

使用:

-c -C65001 -t -r"\n" -T -S;

或:

  -k

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 1970-01-01
    • 2020-05-07
    • 2012-09-20
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    相关资源
    最近更新 更多