[DB-SIG] Syntax for dates/times in prepared statements
Andy Robinson
andy@robanal.demon.co.uk
Mon, 26 Jul 1999 19:42:03 GMT
On Mon, 26 Jul 1999 11:57:00 -0400 (EDT), you wrote:
>But a syntax error, you say. Is it possible that "when" is a reserved word
>in Sybase? If so, you may be able to circumvent this with a literal column
>name, i.e.:
>
>> cursor.execute("""INSERT INTO analysis
>> (id, "when", what, howmuch)
>> VALUES (?,?,?,?)""", (id,when,what,howmuch))
>
Bingo! My first attempt called it 'Date', which I ard realised was
pretty stupid. My second try was "When", which is not listed anywhere
in their language reference, but still reserved - they have a
"whenever" which might explain it. Double quotes or a totally
different name fix it.
For the record, DateTime objects work fine in all positions, and can
go down to 0.01 second resolution in a Sybase TIMESTAMP field. In a
DATE field they get truncated to the nearest day, as expected.
The test output is handy, too - though I won't bombard M-A with all
300k now it works.
Thanks very much, everyone!
- Andy