Thread: Error with a SQL query 'between .. and .. and'
This SQL query works in 7.1.3, but not in 7.2, how come? select count(*) from log where starttime between now()-interval(60*60) and now() and statuscode='2'; ERROR: parser: parse error at or near "*" If I precalculate 60*60, I get this: select count(*) from log where starttime between now()-interval(3600) and now() and statuscode='2'; ERROR: parser: parse error at or near "and" nuclear supercomputer explosion Marxist FBI Iran SEAL Team 6 quiche Qaddafi nitrate class struggle South Africa counter-intelligence attack Ortega [See http://www.aclu.org/echelonwatch/index.html for more about this]
Turbo Fredriksson <turbo@bayour.com> writes: > This SQL query works in 7.1.3, but not in 7.2, how come? > select count(*) from log where starttime between now()-interval(60*60) and now() and statuscode='2'; > ERROR: parser: parse error at or near "*" interval(n) is a type name now, as required by SQL92. Try "interval"(60*60)(60*60)::intervalCAST (60*60 AS interval) Only the last of these is actually standard. regards, tom lane