powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при использовании year()
10 сообщений из 10, страница 1 из 1
Ошибка при использовании year()
    #39884730
Catarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему sql ругается на year() и как это исправить??

SELECT ALL Fname
FROM Clients
WHERE Year(Rday)-Year(Bday)<18;
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884743
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Catarina,

"function year(date) does not exist"? Видимо создать таковую функцию.
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884749
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Catarina,

может потому, что надо date_part('year',Rday)?
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884759
Catarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Troglodit, не получилось(
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884760
Catarina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij, year --invalid identifier
не знаете, как иначе от даты получить только год?
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884766
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А данный диалект ка отреагирует на year(null) ?
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884767
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatarinaПочему sql ругается на year() и как это исправить??

SELECT ALL Fname
FROM Clients
WHERE Year(Rday)-Year(Bday)<18;

Так попробуй
Код: sql
1.
2.
3.
SELECT ALL Fname
FROM Clients
WHERE (Year(Rday)-Year(Bday))<18
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884779
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CatarinaMelkij, year --invalid identifier
Показывайте исходник этой функции и самодостаточный воспроизводимый пример.
Если я ранее намекнул слишком тонко - в postgresql не существует штатной функции Year.

Catarinaне знаете, как иначе от даты получить только год?
date_part как выше сказано. Если для timestamp.
Или вовсе Rday - Bday < interval '18 years'
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39884931
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkijв postgresql не существует штатной функции Year.

Действительно. Но сообщение function year(date) does not exist могло быть и если бы функция существовала, но для другого типа данных, например timestamp. Тогда аргумент можно было бы привести к допустимому типу. Функции Year в PostgreSQL вообще нет, но сообщение fuction does not exists не так однозначно.

Помимо перечисленных способов можно использовать extract():

extract (YEAR from "Rday")

этот способ хорош тем, что его синтаксис совместим с Oracle.

Но возможно, что автору тему в действительности нужно не то, что он спрашивает. А именно, если он хочет узнать полное число лет возраста чувака или чувихи, то вычитание годов может дать неправильный результат.
...
Рейтинг: 0 / 0
Ошибка при использовании year()
    #39885000
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan M
Melkijв postgresql не существует штатной функции Year.


Действительно. Но сообщение function year(date) does not exist могло быть и если бы функция существовала, но для другого типа данных, например timestamp. Тогда аргумент можно было бы привести к допустимому типу. Функции Year в PostgreSQL вообще нет, но сообщение fuction does not exists не так однозначно.

Помимо перечисленных способов можно использовать extract():

extract (YEAR from "Rday")

этот способ хорош тем, что его синтаксис совместим с Oracle.

Но возможно, что автору тему в действительности нужно не то, что он спрашивает. А именно, если он хочет узнать полное число лет возраста чувака или чувихи, то вычитание годов может дать неправильный результат.

ТС не пишет о таком сообщении.
Разве что "sql ругается на year()", т.е. включив фантазию представляем себе небритый такой sql, кричащий "ах ты ж ****** year!"
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Ошибка при использовании year()
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]