Re: Text->Date conversion in a WHERE clause

Поиск
Список
Период
Сортировка
От cadiolis@gmail.com
Тема Re: Text->Date conversion in a WHERE clause
Дата
Msg-id 1129153075.962155.131260@g43g2000cwa.googlegroups.com
обсуждение исходный текст
Ответ на Text->Date conversion in a WHERE clause  (Collin Peters <cadiolis@gmail.com>)
Ответы Re: Text->Date conversion in a WHERE clause  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
As an example:

CREATE TABLE userdata (   userdata_id serial NOT NULL,   user_id smallint,   data text
);

CREATE TABLE users (   user_id serial NOT NULL,   name text,   "type" smallint
);

INSERT INTO userdata (userdata_id, user_id, data) VALUES (1, 1,
'2005-01-01');
INSERT INTO userdata (userdata_id, user_id, data) VALUES (2, 2,
'2005-10-10');
INSERT INTO userdata (userdata_id, user_id, data) VALUES (3, 3,
'052-44-5863');
INSERT INTO userdata (userdata_id, user_id, data) VALUES (4, 4,
'052-44-5863');

INSERT INTO users (user_id, name, "type") VALUES (1, 'Jim', 1);
INSERT INTO users (user_id, name, "type") VALUES (2, 'John', 1);
INSERT INTO users (user_id, name, "type") VALUES (3, 'Bob', 2);
INSERT INTO users (user_id, name, "type") VALUES (4, 'Bill', 2);


Then run the query:
SELECT *
FROM
(SELECT u.user_id, ud.dataFROM users u, userdata udWHERE u.user_id = ud.user_idAND u.type = 1
) subusers
WHERE subusers.data::text::date <  now();

Returns the message: ERROR:  date/time field value out of range:
"052-44-5863"

So my question is how does this query ever even SEE the row containing
"052-44-5863"?  The sub-query doesn't return that row so I don't see
how it can get this error.

Regards,
Collin Peters



В списке pgsql-sql по дате отправления:

Предыдущее
От: Michael Fuhr
Дата:
Сообщение: Re: regular expression
Следующее
От: Greg Stark
Дата:
Сообщение: Re: pg, mysql comparison with "group by" clause