PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

tanda kutip tunggal muncul di sekitar nilai setelah menjalankan salinan di postgres 9.2

Apa yang Anda gambarkan dalam pertanyaan Anda jelas bukan apa yang sebenarnya terjadi. COPY akan gagal mencoba mengimpor literal string dengan tanda kutip tunggal yang berlebihan ke dalam date kolom.

Untuk menghilangkan tanda kutip yang berlebihan, impor ke tabel sementara dengan text kolom, lalu INSERT INTO tabel target memangkas tanda kutip:

CREATE TEMP TABLE wtmp (
   city text
 , temp_lo int
 , temp_hi int
 , prcp real
 , date text  -- note how I use text here.
);

COPY wtmp FROM '~aviad/postsgres/playground/weather.txt';

INSERT INTO weather (city, temp_lo, temp_hi, prcp, date)
SELECT city, temp_lo, temp_hi, prcp, trim(date, '''')::date
FROM   wtmp
-- ORDER BY ?
;

Tabel temp dijatuhkan secara otomatis di akhir sesi Anda.

Kata-kata yang dicadangkan sebagai pengenal

Saya melihat Anda menyalin contoh dari manual. Berikut adalah tautan dalam ke manual saat ini .

Meskipun benar, contoh dalam manual itu sangat disayangkan. Saya menyarankan untuk tidak menggunakan kata-kata khusus seperti date sebagai nama kolom. Seperti yang Anda lihat di sini date adalah kata yang dicadangkan di setiap standar SQL. Itu diizinkan untuk digunakan di Postgres dan saya dapat melihat betapa menggoda untuk contoh sederhana. Tapi itu bukan ide yang bagus. Secara umum, Anda harus memiliki kebiasaan menghindari kata-kata yang dicadangkan sebagai pengidentifikasi. Ini mengarah pada pesan kesalahan yang membingungkan dan kode SQL yang tidak kompatibel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kueri Rails tipe data Postgres JSON

  2. Bergabunglah dengan 2 set berdasarkan pesanan default

  3. datagrip Tidak dapat menerapkan perubahan Tabel ini hanya dapat dibaca. Perubahan editor sel tidak dapat diterapkan

  4. Pivot pada Beberapa Kolom menggunakan Tablefunc

  5. Bagaimana PostgreSQL menerapkan batasan UNIK / jenis indeks apa yang digunakannya?