I\'ve been pulling my hair out. I have a very simple postgre database, one specific table has a column named lName (uppercase N). Now I know with postgre I must quote lName
I would guess:
SELECT * FROM employee WHERE "lName" LIKE 'Smith'
(note the different quotes; "foo"
is a quoted identifier; 'foo'
is a string literal)
Also, in most SQL dialects, a LIKE
without a wildcard is equivalent to =
; did you mean to include a wildcard?
Because "Smith"
is an identifier, and in that position, an identifier is expected to be a column. What you probably meant is a string literal, which uses single quotes: 'Smith'
. So
SELECT * FROM employee WHERE "lName" LIKE 'Smith'
You probably also want a wildcard in the string to search for ('Smith%'
?). LIKE
matching is anchored to the beginning and end of a string, unlike typical regular expression matching.