So I've been googling for a couple of hours and I still don't understand a single thing about escaping quotes in sql.
Can somebody please explain me if ''''
in sql means '
why does select '('||''''||')'
give (')
why not (''')
?
CodePudding user response:
A string in SQL must be enclosed in single quotes, e.g. 'a'
A single quote inside a SQL string is escaped by doubling it: ''
- to create a string out of that, you need to enclose that in two single quotes: ''''
- so the ''
in the middle of that string are the same as the a
in my first example.
The expression: '('||''''||')'
consists of three string constants:
'('
-->(
''''
-->'
(as explained above)')'
-->)