From: | Lew <noone(at)lewscanon(dot)com> |
---|---|
To: | pgsql-novice(at)postgresql(dot)org |
Subject: | Re: Quoted string in select and insert |
Date: | 2012-03-02 17:31:38 |
Message-ID: | jir05r$i2j$1@news.albasani.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-novice |
Bob McConnell wrote:
> Alexander Reichstadt wrote:
>> I just migrated from mysql [sic] and am running into an issue I found no
>> solution for when researching. Using the web interface I can insert
Where did you research? The answer is in the Postgres manual.
And the SQL standard.
>> values that contain single-quotes. But using the CLI I found no way
>> to select or insert single quotes:
>>
>> PetWork=# select * from persons where firstname='\'Peter\''; Invalid
>> command \'';. Try \? for help. PetWork-# select * from persons where
>> firstname='\\'Peter\\''; Invalid command \. Try \? for help. PetWork-#
>> select * from persons where firstname='\\\'Peter\\\''; Invalid command \.
>> Try \? for help. PetWork-# select * from persons
>> where firstname='\\\\'Peter\\\\''; Invalid command \. Try \? for
>> help. PetWork-# select * from persons where
>> firstname='\\\\'Peter\\\\'';
>>
>> On different forums the solution suggested is to prepend backslashes.
>> But it doesn't matter how many backslashes I prepend, it always
>> fails. What does one have to do to achieve that?
>>
>> Thanks for any help
>
> The SQL specification lists the apostrophe as the official escape character.
> This is what Postgres uses. The backslash is a non-standard extension. If you
> want to store or match an apostrophe in the database, you need to double it.
> The standard suggestion to convert dumps and scripts is a sed substitution
> command, something like this:
>
> $ sed "s/\\\'/\'\'/g" > temp.sql
>
> I don't know if that is available on your MAC.
>
> A Google search on the phrase "convert mysql to postgresql sql" will lead you
> to a wealth of information on this topic. You are likely to have some problems
> with data types as well.
For that matter, the Fine Manual answers your question, Alexander:
<http://www.postgresql.org/docs/9.0/interactive/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS>
I like to read the manual when I have a syntax question, don't you?
--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg
From | Date | Subject | |
---|---|---|---|
Next Message | Carlos Mennens | 2012-03-02 19:40:21 | Data In Tables Sometimes Have + |
Previous Message | Day, David | 2012-03-02 15:56:51 | Finding the long transaction associtated with commit ? |