Проблема приведения типов в PostgreSQL - PullRequest
1 голос
/ 12 июля 2011

Я импортировал базу данных PostgreSQL и получаю эту ошибку:

ОШИБКА: оператор не существует: дата> = целое число ЛИНИЯ 1: ... tut.id_pf И evidenta_info_statut.data_sch_statut> = 2010-07 -... ^ СОВЕТ: Нет Оператор соответствует заданному имени и типу аргумента. Вам может понадобиться добавить явное приведение типов.

Мой запрос выглядит так:

ВЫБРАТЬ p_fiz.nr_certif, p_fiz.nume, p_fiz.prenume, localizari.id_jud, evidenta_info_statut.data_sch_statut, evidenta_info_statut.statut, rapoarte_anuale.data_depunere, rapoarte_anuale.angajamente, evidenta_asigurari.data_end, lista_statute.descriere, localizari.id_jud, p_fiz. число, p_fiz.prenume, p_fiz.nr_certif, p_fiz.id_pf, p_fiz.nume, p_fiz.prenume, p_fiz.codificare из p_fiz ВНУТР. evidenta_info_statut ON p_fiz.id_pf = evidenta_info_statut.id_pf И evidenta_info_statut.data_sch_statut> = 2010-07-12 LEFT JOIN rapoarte_anuale ON p_fiz.id_pf = rapoarte_anuale.id_pf И rapoarte_anuale.an> 2010 LEFT JOIN evidenta_asigurari ON p_fiz.id_pf = evidenta_asigurari.id_pf И evidenta_asigurari .data_start> = 2010-07-12 ORDER BY localizari.id_jud ASC, p_fiz.nume ASC, p_fiz.prenume ASC, p_fiz.nr_certif ASC;

Насколько я понимаю, это те, которые> = или> вызывают ошибку.

Есть идеи, как это исправить?

P.S. Я использую PostgreSQL 8.4 на Fedora.

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Вы должны указать свои даты.

evidenta_info_statut.data_sch_statut >= '2010-07-12'
evidenta_asigurari.data_start >= '2010-07-12'

Без кавычек они фактически обозначаются как целочисленная математика;2010 - 7 - 12 = 1991

0 голосов
/ 12 июля 2011

Обернуть дату в кавычки

'2010-07-12'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...