sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server BCP Export där kommatecken i SQL-fältet

Om ett fält som du exporterar kan innehålla det tecken du använder för att avgränsa fälten i din fil, är dina val:

  1. Använd en annan avgränsare - detta verkar vara det enklaste sättet att gå till. Använd bara "|" eller "~" som din avgränsare. Gör en global ersättning av "," till "|" i formatfilen med nästan vilken textredigerare som helst. Det är inte klart varför det skulle vara svårt att ändra "hela" filen. Kanske har du en mottagare av filen som kräver kommaavgränsad?

  2. Om du måste använda kommatecken som avgränsare måste du ändra din kolumnavgränsare från kommatecken (,) till citationstecken-komma-citat (","). För att göra detta måste du använda escape-tecknet för att få BCP-programmet att ignorera de citattecken du vill använda som avgränsare i utdatafilen så att det inte tänker på dem som de citattecken som det förstår innehåller avgränsaren i formatfilen . Så...

Istället för ","... använd... "\",\""

Detta kommer att resultera i följande

col1,col2,"col,3",col4

För kol1 är avgränsaren:, för att representera detta i filformat, använd:","

För col2 är avgränsaren:," för att representera detta i filformat, använd:",\""

För col3 är avgränsaren:", för att representera detta i filformat, använd "\","

För col4 är avgränsaren:, för att representera detta i filformat, använd:","

Jag hoppas att det hjälper.



  1. NodeJS svarade MySQL-tidszonen är annorlunda när jag hämtar direkt från MySQL

  2. Hur returnerar man tillfällig CLOB-instans från lagrad funktion i Pl/SQL?

  3. DBMS_SCHEDULER Jobbkörning varje timme Exempel

  4. Hur analyserar du ett enkelt XML-snutt i Oracle PL/SQL och laddar det i en global temp-tabell?