mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Two Ways To Escape A Quote In A String as a Postgres til
This commit is contained in:
@@ -10,7 +10,7 @@ pairing with smart people at Hashrocket.
|
|||||||
|
|
||||||
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
|
||||||
|
|
||||||
_1141 TILs and counting..._
|
_1142 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -630,6 +630,7 @@ _1141 TILs and counting..._
|
|||||||
- [Truncate Tables With Dependents](postgres/truncate-tables-with-dependents.md)
|
- [Truncate Tables With Dependents](postgres/truncate-tables-with-dependents.md)
|
||||||
- [Turning Timing On](postgres/turn-timing-on.md)
|
- [Turning Timing On](postgres/turn-timing-on.md)
|
||||||
- [Two Ways To Compute Factorial](postgres/two-ways-to-compute-factorial.md)
|
- [Two Ways To Compute Factorial](postgres/two-ways-to-compute-factorial.md)
|
||||||
|
- [Two Ways To Escape A Quote In A String](postgres/two-ways-to-escape-a-quote-in-a-string.md)
|
||||||
- [Types By Category](postgres/types-by-category.md)
|
- [Types By Category](postgres/types-by-category.md)
|
||||||
- [Union All Rows Including Duplicates](postgres/union-all-rows-including-duplicates.md)
|
- [Union All Rows Including Duplicates](postgres/union-all-rows-including-duplicates.md)
|
||||||
- [Use A psqlrc File For Common Settings](postgres/use-a-psqlrc-file-for-common-settings.md)
|
- [Use A psqlrc File For Common Settings](postgres/use-a-psqlrc-file-for-common-settings.md)
|
||||||
|
|||||||
40
postgres/two-ways-to-escape-a-quote-in-a-string.md
Normal file
40
postgres/two-ways-to-escape-a-quote-in-a-string.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Two Ways To Escape A Quote In A String
|
||||||
|
|
||||||
|
String literals in PostgreSQL have to be wrapped in single quotes. This can be
|
||||||
|
tricky if you are faced with writing out a query using a string that contains a
|
||||||
|
single quote.
|
||||||
|
|
||||||
|
```sql
|
||||||
|
> select 'who's on first?';
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
The query won't execute because it is waiting for you to close the second set
|
||||||
|
of quotes.
|
||||||
|
|
||||||
|
I know of two ways to handle this situation.
|
||||||
|
|
||||||
|
The first is to put two single quotes back to back. The first will cause the
|
||||||
|
second to be escaped so that the quote shows up in the string.
|
||||||
|
|
||||||
|
```sql
|
||||||
|
> select 'who''s on first?';
|
||||||
|
?column?
|
||||||
|
-----------------
|
||||||
|
who's on first?
|
||||||
|
(1 row)
|
||||||
|
```
|
||||||
|
|
||||||
|
The second is to prepend the string with [the `E`
|
||||||
|
character](https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS)
|
||||||
|
to allow escape sequences in strings.
|
||||||
|
|
||||||
|
```sql
|
||||||
|
> select E'who\'s on first?';
|
||||||
|
?column?
|
||||||
|
-----------------
|
||||||
|
who's on first?
|
||||||
|
(1 row)
|
||||||
|
```
|
||||||
|
|
||||||
|
[source](https://stackoverflow.com/a/12320729)
|
||||||
Reference in New Issue
Block a user