Создание столбца Tempory в MySQL - PullRequest
1 голос
/ 05 сентября 2011

В моей базе данных (MySQL) есть поле с днем ​​рождения.Когда я получаю записи, я хочу напечатать там возраст, делающий так age = (YEAR(CUERRENT_DATE) - YEAR(birthday)).Но в моей базе данных нет столбца с именем age.Так что я просто хочу сделать, создать временный столбец и сохранить возраст, и когда я получаю записи, я также могу распечатать возрастЕсть ли способ сделать это?Как я могу написать запрос?Я новичок в SQL.Пожалуйста, помогите мне.

Ответы [ 3 ]

1 голос
/ 05 сентября 2011

Вы можете вычислить возраст непосредственно в SELECT и вернуть его, как если бы это был столбец:

SELECT *, YEAR(CUERRENT_DATE) - YEAR(birthday) as age
FROM table
...

Это как временный столбец.

1 голос
/ 05 сентября 2011

Я думаю, вам не нужно хранить возраст - вы извлекаете дату рождения из SQL и вычисляете возраст в коде и распечатываете. Также вы можете использовать встроенные функции БД для получения текущей даты - если вы хотите сделать это в SQL.

Если вы используете MySQL.

SELECT (YEAR(CURDATE())-YEAR(birth)) AS age FROM TABLE_NAME;
1 голос
/ 05 сентября 2011

Вам не нужен временный столбец, просто выберите:

SELECT YEAR(CUERRENT_DATE) - YEAR(birthday) AS age, otherColumns FROM xyz WHERE ...

Как видите, я использовал AS для переименования выражения в ваш "временный столбец". Затем он появится в вашем наборе результатов.

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