String literal dan melarikan diri karakter di postgresql
Mencoba untuk menyisipkan karakter melarikan diri ke dalam tabel hasil di peringatan.
Misalnya:
create table EscapeTest (text varchar(50));
insert into EscapeTest (text) values ('This is the first part \n And this is the second');
Menghasilkan peringatan:
WARNING: nonstandard use of escape in a string literal
(Menggunakan PSQL 8.2)
Ada yang tahu bagaimana untuk mendapatkan sekitar ini?
104
5
Sebagian. Teks yang dimasukkan, tetapi peringatan ini masih dihasilkan.
Saya menemukan diskusi yang ditunjukkan teks yang diperlukan harus didahului dengan 'E', seperti:
Ini ditekan peringatan, tetapi teks itu masih belum dikembalikan dengan benar. Ketika saya menambahkan tambahan slash sebagai Michael menyarankan, itu bekerja.
Seperti:
Keren.
Saya juga menemukan dokumentasi mengenai E:
http://www.postgresql.org/docs/8.3/interactive/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS
Peringatan ini dikeluarkan karena anda menggunakan backslashes pada string. Jika anda ingin menghindari pesan, ketik perintah ini "set standard_conforming_strings=on;". Kemudian gunakan "E" sebelum anda string termasuk garis miring terbalik yang anda inginkan postgresql untuk intrepret.
Saya menemukan itu sangat tidak mungkin untuk Postgres untuk memotong data anda pada input - hal baik yang menolak atau toko-toko seperti ini.
Benar-benar bodoh pertanyaan: Apakah anda yakin string yang terpotong, dan tidak hanya rusak di linebreak anda tentukan (dan mungkin tidak ditampilkan di interface)? Yaitu, apakah anda mengharapkan lapangan untuk menunjukkan sebagai
atau
Juga, apa yang antarmuka yang anda gunakan? Adalah mungkin bahwa sesuatu sepanjang jalan makan anda garis miring terbalik?