Re: INTERVAL data type and libpq - what format?
От | Tom Lane |
---|---|
Тема | Re: INTERVAL data type and libpq - what format? |
Дата | |
Msg-id | 12907.1242737150@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: INTERVAL data type and libpq - what format? (Sam Mason <sam@samason.me.uk>) |
Ответы |
Re: INTERVAL data type and libpq - what format?
|
Список | pgsql-general |
Sam Mason <sam@samason.me.uk> writes: > I don't really know 8.4, but I believe you're saying here that you > explicitly want the values to be of basic INTERVAL type here, i.e. not > INTERVAL DAY TO HOUR for parameter 3. Right, you can get the equivalent behavior from psql thus: regression=# select '-12345'::interval::interval year; interval ---------- 00:00:00 (1 row) regression=# select '12 11'::interval::interval year; ERROR: invalid input syntax for type interval: "12 11" LINE 1: select '12 11'::interval::interval year; ^ There is not any way to bind a more specific type to a parameter at the protocol level. > I think PG may do the right thing if you > don't specify the types when preparing the query, but haven't tested. Yeah, that should work (though I haven't verified it either). Another common trick is to specify the type in the text of the query by casting the parameter symbol: PQprepare( ... $2::INTERVAL YEAR ... ); I'd say this is better style than hard-wiring numeric type OIDs into your code. regards, tom lane
В списке pgsql-general по дате отправления: