Condividi
Stringhe letterali e sequenze di Escape in PostegreSQL
Tentando di inserire una stringa contenente il simbolo di escape '\n' in PostegreSQL ottengo un warning, ad es. facendo la seguente insert
create table EscapeTest (text varchar(50));
insert into EscapeTest (text) values ('Questo è il primo rigo \n e questo è il secondo');
Ottengo il seguente messaggio di warning:
WARNING: nonstandard use of escape in a string literal
Premettendo che faccio riferimento a PSQL 8.2 qualcuno sà perché avviene questo?
In Corso
1
PostgreSQL
31-05-2018
1 Risposta
1547 Visite
0
Risposte ( 1 approvate )
Nonostante il warning la stringa viene comunque inserita all'interno di PostgreSQL, però potrebbe non essere ritornata correttamente; cercando in rete viene suggerito di precedere la stringa con il carattere 'E', questo fa si che il warning non venga più emesso, in pratica devi fare la insert così
Il problema nasce dall'escape new line '\n' presente nella stringa, questo va trattato correttamente anteponendogli un backslash prima di inserirlo, quindi la versione finale e corretta della tua insert è