How to handle a single quote in Oracle SQL

SqlOracleEscaping

Sql Problem Overview


How do I insert a record in a column having varchar data type having single quote in it?

Example: first name is ROBERT and last name is D'COSTA

Sql Solutions


Solution 1 - Sql

Use two single-quotes

SQL> SELECT 'D''COSTA' name FROM DUAL;
 
NAME
-------
D'COSTA

Alternatively, use the new (10g+) quoting method:

SQL> SELECT q'$D'COSTA$' NAME FROM DUAL;

NAME
-------
D'COSTA

Solution 2 - Sql

I found the above answer giving an error with Oracle SQL, you also must use square brackets, below;

SQL> SELECT Q'[Paddy O'Reilly]' FROM DUAL;


Result: Paddy O'Reilly

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsubhashisView Question on Stackoverflow
Solution 1 - SqlVincent MalgratView Answer on Stackoverflow
Solution 2 - SqlMur3phView Answer on Stackoverflow