Обсуждение: BUG #12242: No error - if there is no comma seperator
The following bug has been logged on the website: Bug reference: 12242 Logged by: Onkar Gaonkar Email address: omkar1103@gmail.com PostgreSQL version: 9.3.3 Operating system: Windows Description: Below script does not throw error ======================================= SELECT claim_status, claim_key FROM tbl_claim WHERE claim_key IN ( '1140799265' '2129945595' ) ======================================= Throws Error ======================================= SELECT claim_status, claim_key FROM tbl_claim WHERE claim_key IN ( '1140799265' '2129945595' ) ERROR: syntax error at or near "'2129945595'" LINE 7: '1140799265' '2129945595' ^ ********** Error ********** ERROR: syntax error at or near "'2129945595'" SQL state: 42601 Character: 113 =======================================
omkar1103@gmail.com writes: > Below script does not throw error > ======================================= > SELECT > claim_status, > claim_key > FROM tbl_claim > WHERE claim_key IN > ( > '1140799265' > '2129945595' > ) > Throws Error > ======================================= > SELECT > claim_status, > claim_key > FROM tbl_claim > WHERE claim_key IN > ( > '1140799265' '2129945595' > ) Yup. This is not only not a bug, it's behavior required by the SQL standard. Literal strings are concatenated automatically as long as they're separated by a newline. This is mentioned in the PG docs under 4.1.2.1. String Constants: http://www.postgresql.org/docs/9.3/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS (This is one of many decisions I'm sure the SQL committee would like to have back, but we're pretty much stuck with it now.) regards, tom lane