mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 07:08:01 +00:00
Add Escaping String Literals With Dollar Quoting as a postgres til
This commit is contained in:
27
postgres/escaping-string-literals-with-dollar-quoting.md
Normal file
27
postgres/escaping-string-literals-with-dollar-quoting.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Escaping String Literals With Dollar Quoting
|
||||
|
||||
String literals in PostgreSQL are defined by surrounding the content with
|
||||
the `'` character. For string literals that contain the `'` character, you
|
||||
may have seen it escaped with a preceding `'`.
|
||||
|
||||
```sql
|
||||
> select 'Isn''t this nice?';
|
||||
?column?
|
||||
------------------
|
||||
Isn't this nice?
|
||||
```
|
||||
|
||||
This is easy enough to do, but can be error prone and doesn't work well if
|
||||
SQL is being programmatically generated. A great workaround is to escape
|
||||
string literals using what is called dollar quoting.
|
||||
|
||||
```sql
|
||||
> select $$Isn't this even nicer?$$;
|
||||
?column?
|
||||
------------------------
|
||||
Isn't this even nicer?
|
||||
```
|
||||
|
||||
Just wrap both ends in `$$` instead of `'`.
|
||||
|
||||
[source](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html)
|
||||
Reference in New Issue
Block a user