SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 06.02.2010 23:34:36

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

DATE_FORMAT вывод только года

Добрый.
В очередной раз прошу о помощи.
Необходимо из даты вынуть только год и вывести всё это в массиве.
Через YEAR тоже пробовал, та же ситуация.
На странице ошибку не выдаёт, то год не выводит... Выводит всё кроме года ( $myrow["god"]).
Код прилагаю, заранее спасибо.



$result = mysql_query("SELECT node.id, node.title, node.data, DATE_FORMAT('node.date','%Y') AS god, SUM(stat_wohnen.cnt)
FROM node LEFT JOIN stat_wohnen ON node.id = stat_wohnen.id
WHERE stat_wohnen.ts > CURRENT_DATE() - INTERVAL 3 MONTH
AND node.kat1='1'
GROUP BY 1
ORDER BY 3 DESC"
, $db);

if(mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);}
         
do{
printf ("<div class='left'>
                     <div class='r'>
                     <div class='r_text'>
                          <div class='god'>%s</div>
                       <a href='kemchem/artikel/%s' title='%s'>%s</a>
                     </div>
                   </div>
                   <div class='min'></div>
         </div>
"
, $myrow["god"],$myrow["id"],$myrow["page_title"],$myrow["title"]);
}
   while ($myrow =  mysql_fetch_array($result));


 

Неактивен

 

#2 07.02.2010 00:09:19

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: DATE_FORMAT вывод только года

'node.date' - это литерная константа
`node`.`date` - это поле `date` из таблицы `node`

Неактивен

 

#3 07.02.2010 00:19:53

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

Re: DATE_FORMAT вывод только года

Исправил date на data. У меня есть поле data  в таблице node
Не выводит ничего.


$result = mysql_query("SELECT node.id, node.title, node.data, DATE_FORMAT('node.data','%Y') AS god,

Неактивен

 

#4 07.02.2010 00:24:28

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: DATE_FORMAT вывод только года

Вы мое прошлое сообщение читали ??

Неактивен

 

#5 07.02.2010 00:48:25

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

Re: DATE_FORMAT вывод только года

Да. Я так понял, что  'node.date' использовать нельзя. Исправил на 'node.data'
Нет?

Неактивен

 

#6 07.02.2010 01:15:03

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: DATE_FORMAT вывод только года

Нет. Что 'node.data', что 'node.date' - литерные константы.
Какой по вашему мнению может результат вычисления года с помощью функции date_format() от слова 'одуванчик'?
Вы именно это и пытаетесь сделать, только с другими словами.

Аргументом функции date_format() должно быть имя колонки.

Неактивен

 

#7 07.02.2010 01:35:18

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

Re: DATE_FORMAT вывод только года

$result = mysql_query("SELECT node.id, node.title, node.data, DATE_FORMAT('data','%Y') AS god,


Так тоже не работает... Можно у Вас пример попросить... Не пойму никак...

Неактивен

 

#8 07.02.2010 01:37:22

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

Re: DATE_FORMAT вывод только года

В моём случае лучше обойтись без этого запроса, как выяснилось, но уже просто интересно.
Спасибо.

Неактивен

 

#9 07.02.2010 01:39:57

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: DATE_FORMAT вывод только года

DATE_FORMAT(`node`.`date`,'%Y')

Или data вместо date (не знаю какое поле у вас содержит дату).

Неактивен

 

#10 07.02.2010 01:46:04

Doxtor
Завсегдатай
Зарегистрирован: 06.08.2009
Сообщений: 61

Re: DATE_FORMAT вывод только года

Понятно, я это пробовал, но использовал другие кавычки. Не знал, что это имело значение.
Огромное спасибо.
Как обычно жму на Яндекс. smile

Неактивен

 

#11 07.02.2010 01:57:32

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: DATE_FORMAT вывод только года

То, что заключено в одинарные кавычки воспринимается как строковая константа.
Обратные кавычки нужны для обозначения имен колонок, таблиц и т.д. в случае когда имена совпадают с ключевыми словами, содержат спец символы или состоят из нескольких слов. И хотя синтаксисом такое разрешено лучше избегать подобных ситуаций, чтобы самому не ошибиться.
Если бы у вас имя колонки date не совпадало с ключевым словом, то и никакие кавычки были бы не нужны.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson