Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server BCP Xuất trong đó dấu phẩy trong trường SQL

Nếu một trường bạn đang xuất sẽ có thể chứa ký tự bạn đang sử dụng để phân tách các trường trong tệp của mình, thì lựa chọn của bạn là:

  1. Sử dụng một dấu phân cách khác - đây có vẻ là cách dễ nhất. Chỉ cần sử dụng "|" hoặc "~" làm dấu phân cách của bạn. Thực hiện thay thế toàn cục của "," thành "|" trong tệp định dạng chỉ với bất kỳ trình soạn thảo văn bản nào. Không rõ tại sao lại khó sửa đổi "toàn bộ" tệp. Có thể bạn có người nhận tệp yêu cầu được phân tách bằng dấu phẩy?

  2. Nếu bạn phải sử dụng dấu phẩy làm dấu phân cách, bạn phải thay đổi dấu phân cách cột của mình từ dấu phẩy (,) thành dấu ngoặc kép-dấu ngoặc kép (","). Để làm điều này, bạn cần sử dụng ký tự thoát để chương trình BCP bỏ qua các dấu ngoặc kép bạn muốn sử dụng làm dấu phân cách trong tệp đầu ra để nó không coi chúng là dấu ngoặc kép mà nó hiểu là chứa dấu phân cách trong tệp định dạng. . Vì vậy ...

Thay vì "," ... hãy sử dụng ... "\", \ ""

Điều này sẽ dẫn đến những điều sau

col1, col2, "col, 3", col4

Đối với col1, dấu phân cách là:, để thể hiện điều này trong tệp định dạng, hãy sử dụng:","

Đối với col2, dấu phân cách là:, "để thể hiện điều này trong tệp định dạng, hãy sử dụng:", \ ""

Đối với col3, dấu phân cách là:", để thể hiện điều này trong tệp định dạng, hãy sử dụng:" \ ","

Đối với col4, dấu phân cách là:, để thể hiện điều này trong tệp định dạng, hãy sử dụng:","

Tôi hy vọng điều đó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để cấp quyền (bảng) quyền trong SQL Server 2008?

  2. Chọn câu lệnh để trả về cha mẹ và con vô hạn

  3. Làm cách nào để điền vào một cột với các số ngẫu nhiên trong SQL? Tôi nhận được cùng một giá trị trong mọi hàng

  4. Chèn số hàng trống trong SQL

  5. Cập nhật 4 triệu bản ghi trong máy chủ SQL sử dụng danh sách id bản ghi làm đầu vào