postgresql возраст по дате рождения
как использовать функцию age() в postgresql
Я нахожу сайт учебника postgres https://www.postgresql.org/docs/9.3/static/functions-datetime.html Мне нужна помощь с возрастной функцией, и я не уверен, как ее использовать. У меня есть столбец в таблице учеников, названный дата рождения. Мне нужно найти студентов в возрасте старше 12 лет.
Я не знаю, соответствует ли это правильному синтаксису или если im использует правильную функцию для ситуации
Я думаю, что большая часть вашей путаницы связана с незнанием системы Postgres rich type и синтаксиса, который она использует.
На странице функций даты/времени функция age указана в двух формах. Предполагая, что вы хотите сравнить с “сегодня”, вам нужна форма с одним аргументом:
Функция: возраст (временная метка)
Тип возврата: интервал
Описание: Вычитание из current_date (в полночь)
Пример: возраст (timestamp ‘1957-06-13’)
Результат: 43 года 8 месяцев 3 дня
Таким образом, у вас есть функция, которая принимает значение типа timestamp и возвращает значение interval типа.
Я не знаю этого учебника, о котором вы говорите, но в документации есть следующие слова о столбцах:
Записи в списке выбора могут быть назначены имена для последующей обработки, например, для использования в предложении ORDER BY или для отображения клиентским приложением.
Вам придется повторить это выражение. Это соответствует стандарту SQL.
PostgreSQL — ДАТА / ВРЕМЯ Функции и операторы
В следующей таблице перечислены поведения основных арифметических операторов —
Ниже приведен список всех важных функций, связанных с датой и временем.
С. Нет. | Описание функции | |||
---|---|---|---|---|
1 | ВОЗРАСТ() Текущая дата и время Получить подполе (эквивалентное извлечению) Тест на конечную дату, время и интервал (не +/- бесконечность) Текущая дата и время Получить подполе (эквивалентное извлечению) Тест на конечную дату, время и интервал (не +/- бесконечность) ВОЗРАСТ (временная метка, timestamp), ВОЗРАСТ (временная метка)ВОЗРАСТ (временная метка, timestamp) Когда вызывается с формой TIMESTAMP второго аргумента, AGE () вычитает аргументы, производя «символический» результат, который использует годы и месяцы и имеет тип INTERVAL. Когда вызывается только с TIMESTAMP в качестве аргумента, AGE () вычитает из current_date (в полночь). ВОЗРАСТ (временная метка, timestamp) Когда вызывается с формой TIMESTAMP второго аргумента, AGE () вычитает аргументы, производя «символический» результат, который использует годы и месяцы и имеет тип INTERVAL. Когда вызывается только с TIMESTAMP в качестве аргумента, AGE () вычитает из current_date (в полночь). Примером функции AGE (timestamp, timestamp) является — Приведенный выше оператор PostgreSQL даст следующий результат: Примером функции AGE (отметка времени) является — Приведенный выше оператор PostgreSQL даст следующий результат: ТЕКУЩАЯ ДАТА / ВРЕМЯ ()PostgreSQL предоставляет ряд функций, которые возвращают значения, связанные с текущей датой и временем. Ниже приведены некоторые функции —
|