форматирование поля даты в mysql

0

У меня есть поле даты рождения, хранящееся в таблице в базе данных. В настоящее время он отображает значения как 2005-10-12, но я хотел отображать как 10-12-2005. Я пробовал следующий запрос, но он не отображает поле вообще в PHP. Все предложения будут полезны. Как этот запрос, когда он выполняется непосредственно в базе данных, он рассылается, но не в php.Thanks заранее.

     SELECT DATE_FORMAT(birthdate,'%m-%d-%Y'),name FROM persons ORDER BY name DESC
Теги:
date

1 ответ

3
Лучший ответ

Он должен отображаться правильно. Если вы пытаетесь получить поле в PHP, например, оно не отображается как birthdate, а написано: DATE_FORMAT(birthdate,'%m-%d-%Y'). Вероятно, почему это не в $row['birthdate'], а скорее в $row["DATE_FORMAT(birthdate,'%m-%d-%Y')"], если вообще.

Чтобы получить его как birthdate, используйте псевдоним в поле с ключевым словом as:

SELECT DATE_FORMAT(birthdate,'%m-%d-%Y') as birthdate, name FROM persons ORDER BY name DESC

Теперь его заполнить можно найти в $row['birthdate'].

Более гибким способом является выбор исходной даты (желательно в формате UNIX_TIMESTAMP) и форматирование даты на вашем языке программирования. В PHP вы можете сделать что-то вроде этого:

$query = "SELECT UNIX_TIMESTAMP(birthdate) as birthdate, name FROM persons ORDER BY name DESC";
$resource = mysql_query($query);

while($row = mysql_fetch_assoc($resource)) {
    echo date('m-d-Y', $row['birthdate'])." ".$row['name']."<br />";
}
  • 0
    Большое спасибо, что работал.
  • 0
    swathi: Если его решение сработало, отметьте его как лучший ответ с галочкой под стрелками для голосования. ;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню