【问题标题】:How to remove double quotes surrounding the text while importing a CSV file?导入 CSV 文件时如何删除文本周围的双引号?
【发布时间】:2010-03-26 13:56:09
【问题描述】:

我的数据类似于以下内容:

"D.STEIN","DS","01","ALTRES","TTTTTTFFTT" 
"D.STEIN","DS","01","APCASH","TTTTTTFFTT" 
"D.STEIN","DS","01","APINH","TTTTTTFFTT" 
"D.STEIN","DS","01","APINV","TTTTTTFFTT" 
"D.STEIN","DS","01","APMISC","TTTTTTFFTT" 
"D.STEIN","DS","01","APPCHK","TTTTTTFFTT" 
"D.STEIN","DS","01","APWLNK","TTTTTTFFTT" 
"D.STEIN","DS","01","ARCOM","TTTTTTFFTT" 
"D.STEIN","DS","01","ARINV","TTTTTTFFTT" 

我使用平面文件源编辑器来加载数据。删除所有双引号的最简单方法是什么?

【问题讨论】:

    标签: sql-server-2008 ssis


    【解决方案1】:

    进一步搜索发现我应该使用平面文件源的General 选项卡上的Text Qualifier

    在 Notepad++ 中查看时的平面文件内容。 CRLF 表示行以Carriage ReturnLine Feed 结尾。

    在平面文件连接管理器的Text qualifier文本框中输入双引号。

    一旦设置了文本限定符,数据将被正确解析并显示如下:

    【讨论】:

    • 谢谢!好东西。我浪费时间试图自己解决这个问题。
    • 这修复了数据中的“。如何从列名中删除它,因为我没有在列中看到文本限定符属性,并且从高级选项卡中手动删除“需要很多时间。
    【解决方案2】:

    在加载带有双引号和逗号的 CSV 时,有一个限制是添加了额外的双引号,并且数据也包含在双引号中,您可以在源文件的预览中查看。 因此,添加派生列任务并给出以下表达式:-

    (REPLACE(REPLACE(RIGHT(SUBSTRING(TRIM(COL2),1,LEN(COL2) - 1),LEN(COL2) - 2)," ","@"), "\"\"","\""),"@","")

    粗体部分删除了用双引号括起来的数据。

    试试这个,如果有帮助请告诉我

    【讨论】:

      【解决方案3】:
      substring([column 5], 2,(len([column 5])-2) )
      

      【讨论】:

        【解决方案4】:

        我宁愿用下面的说法....

        REPLACE(REPLACE(REPLACE(ColumnName, '""', '[YourOwnuniqueString]'), '"', ''), '[YourOwnuniqueString]', '"')
        

        注意:请确保您的YourOwnuniqueString 应该是唯一的,并且不要在列中的任何位置用作数据。 E.x: SQL@RT2#myCode -区分大小写-

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-20
          • 2021-12-16
          • 1970-01-01
          • 2022-01-20
          • 2014-05-05
          相关资源
          最近更新 更多