[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сверять даты
Хозяин Огня
Подскажите пожалуйста, как нужно правильно сверять даты.
Допустим мне нужно вывести из базы сообщения, даты которых больше даты из другой таблицы.
Я делал так:
PHP
WHERE date_com 

выдаёт ошибку.

$last_enter получил так:
PHP
//Выбираем (и выводим для наглядности)дату последнего визита
$query mysql_query("SELECT config_last_enter FROM config_table");
if (
$query)
{
 
$last_enter mysql_result($query,0,'config_last_enter');
 echo 
$last_enter;
 echo
"<br><br><hr><br>";
}
else echo 
"Ошибка";




Спустя 59 минут, 35 секунд (23.10.2009 - 11:39) Oyeme написал(а):
For example, I've an Order table with a DateTime field called OrderDate. I want to retrieve all orders where the order date is equals to 01/01/2006. What's the best way?

1. WHERE DateDiff(dd, OrderDate, '01/01/2006') = 0
2. WHERE Convert(varchar(20), OrderDate, 101) = '01/01/2006'
3. WHERE Year(OrderDate) = 2006 AND Month(OrderDate) = 1 and Day(OrderDate)=1
4. WHERE OrderDate LIKE '01/01/2006%'
5. WHERE OrderDate >= '01/01/2006' AND OrderDate < '01/02/2006'
6. ...

In my opinion the best way in terms of performances is the 5) and it's one of my personal "best practices" when this type of comparison is required. It requires 2 tests but it's better than calling special T-SQL functions like the others.

Спустя 19 минут, 34 секунды (23.10.2009 - 11:59) sergeiss написал(а):
Oyeme - хочу обратить ОЧЕНЬ ОСОБОЕ ВНИМАНИЕ НА п.2.4.a Правил Форума http://phpforum.ru/index.php?act=boardrules

Спустя 38 минут, 9 секунд (23.10.2009 - 12:37) glock18 написал(а):
Oyeme
biggrin.gif biggrin.gif ххаха... я все мечтал найти человека с кем могу на английском вдоволь поговорить smile.gif


Хозяин Огня
все элементарно: делаешь join с той таблицей, с которой нужно сравнить и усе. если это "просто вторая таблица", не связанная с первой, то можешь просто дописать ее в from через запятую.

Спустя 1 час, 38 минут, 54 секунды (23.10.2009 - 14:16) Oyeme написал(а):
glock18
cool.gif so we can speak..


sergeiss
Английский - это латынь современного человека задействованного в компьютерных науках. Без его освоения заниматься профессионально техническими науками невозможно.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.