Автор Тема: Это с датами или с чем ?  (Прочитано 4010 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Это с датами или с чем ?
« : 29 Августа 2003, 16:08:41 »
Формирую строку (mssql):
$strquer= \'select * from Access_log where (Date_time between \\\'\'.$year.$month.\'01 00:00\\\' and \\\'\'.$year.$month.$day.\' 00:00\\\')\';
ответ:
Warning: MS SQL message: Syntax error converting datetime from character string.
делаю ехо $strquer
ответ:
select * from Access_log where Date_time between (\'2003801 00:00\' and \'2003829 00:00\')
Проверяю его в самой скуль консоли ....работает
как и что за ...?

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Это с датами или с чем ?
« Ответ #1 : 29 Августа 2003, 16:12:34 »
сделай print $strquer и сравни с тем, что набираешь в консоли.
Не все коту матрица.

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Это с датами или с чем ?
« Ответ #2 : 29 Августа 2003, 16:18:47 »
a чем в результате будут отличатся
echo $strquer
и
 print ($strquer) ?
 как я в первом посте написал , результат вывода в браузер полностью совпадает с тем, что я вбиваю в консоль....

Оффлайн Flam

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 33
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Это с датами или с чем ?
« Ответ #3 : 29 Августа 2003, 17:20:40 »
Клясться не буду, так как в MS SQL не работал, но в Oracle с датами корректно можно работать только так:
$date_from=date(\'d.m.Y\');
$query="select * from table where DT BETWEEN (TO_DATE(\'$date_from 00:01\',\'DD.MM.YYYY ,HH24:MI\'))  and (TO_DATE(\'$date_to 23:59\',\'DD.MM.YYYY ,HH24:MI\')) order by DT desc");

TO_DATE - встроенная ораклова функция
DD.MM.YYYY ,HH24:MI - шаблон

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Это с датами или с чем ?
« Ответ #4 : 29 Августа 2003, 18:08:02 »
Не выделывайся, а напиши дату в запросе в виде YYYY-MM-DD 00:00:00
У меня с MsSQL это работает. Он сам конвертит в формат DD.MM.YYYY 00:00:00 на серверах с локалью RU и в формат MM/DD/YYYY 00:00:00 на серверах с локалью NL. А так как ты пишешь, вообще не прокатывает даже с консоли.
Я храню дату в поле типа datetime
работа в Украине

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Это с датами или с чем ?
« Ответ #5 : 29 Августа 2003, 18:16:25 »
если прямо на твой вопрос не ответят, то могу посоветовать поизучать коды нормальных библиотек для работы с СУБД (adodb или pear:: DB).
Мельком глянул, в adodb какие-то функции для работы с датой понаписывали.


ЗЫ
[off] а я вообще дату в последнее время дату стал хранить в int-полях как результат функции time() - мне это кажется удобно и кросс-СУБД-шным[/off]
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Это с датами или с чем ?
« Ответ #6 : 01 Сентября 2003, 11:58:36 »
Мужики... с меня пиво....по-любому...:D
 Локаль оказалась не та...и в итоге работает такое.....но работает!!!
$strquer= \'select * from Access_log where Date_time between \\\'07/01/2003 00:00\\\' and \\\'08/29/2003 00:00\\\' \'; // получается США
Yukko
даты у меня тоже  datetime....
 Не поверишь, с консоли как раз (\'2003801 00:00\' and \'2003829 00:00\') прокатывает, в том-то и прикол почему сразу на локаль не подумал
 может мс скуль такой умный что тихо сам конвертит...
Макс
 да надо поковырять их, времячко никак выделить не могу... :(

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Это с датами или с чем ?
« Ответ #7 : 01 Сентября 2003, 12:25:56 »
Упс...., а я что , могу сам себе рейтинг делать?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28