Take a simple query like
sql`
SELECT * FROM "Example"
WHERE
somejsonb->>'someField' = foo;
`
When built dynamically:
// fieldName → somejsonb->>'someField'
// val → 'foo'
sql`
SELECT * FROM "Example"
WHERE
${sql(fieldName)} = ${val};
`
fieldName is incorrectly quoted as "somejsonb->>'someField'" (it should be "somejsonb"->>'someField')
Manually wrapping somejsonb in double-quotes results in an extra set of quotes: ""somejsonb"->>'someField'"