如何删除双引号并跳过 bcp 加载到 SQL Server 中的最后 3 行?

Posted

技术标签:

【中文标题】如何删除双引号并跳过 bcp 加载到 SQL Server 中的最后 3 行?【英文标题】:How to remove the double quotes and skip last 3 lines in bcp loading into SQL Server? 【发布时间】:2021-12-30 14:25:29 【问题描述】:

我正在使用 bcp 命令行实用程序将数据加载到 SQL Server。 问题是数据即将到来,如下所示。双引号中的每个字段,我必须跳过最后三行,因为它有一些预告片。我该如何解决这个问题? 提前致谢。如果您能在这方面提供帮助,我将不胜感激。

bcp database.schema.tablename in Filename.text -T -c -t"|" -r"0x0a" -F 3 -m 2

UHDR 20211110
"DATE","CUSIP","ISIN","SEDOL","TICKER","DESCRIPTION","QUANTITY","RATE","COMMENT","MARKET","FEE"
11/10/2021|""|"CA45826T3010"|"BMVXZT5"|"ITR"|"INTEGRA RESOURCES CORP REGISTERED SHS"|"28712"|"0.0000"|"HTB"|"CA"|"11.5000"

【问题讨论】:

【参考方案1】:

如果你想:

无条件删除所有" 字符。

无条件跳过最后 3 行:

(Get-Content -ReadCount 0 Filename.text) -replace '"' |
  Select-Object -SkipLast 3 |
    Set-Content Filename_CleanedUp.text

注意:-ReadCount 0 是一种性能优化,它使Get-Content 将所有行读入单个数组,而不是逐行流式传输行。

然后将Filename_CleanedUp.text 传递给您的bcp 命令。

【讨论】:

以上是关于如何删除双引号并跳过 bcp 加载到 SQL Server 中的最后 3 行?的主要内容,如果未能解决你的问题,请参考以下文章

如何检查数据库中是否已存在一组行并跳过迁移?

将数据批量加载到使用 BCP 从 SQL Server 导出的 Snowflake 时出现 UTF-8 错误

PHP和sql语句中单引号和双引号的区别

sql 如何查询单引号

使用 Python 将 Google Cloud Storage 中的数据加载到 BigQuery 时,如何强制忽略双引号?

如何将包含双引号的字符串添加到 sql 数据库?