Страница 1 из 1

дата в запросе SQL (MySQL)

Добавлено: 08 сен 2006, 16:56
vg
Можно ли каким-то путём (простым) выполнить на MySQL выражение:

select * from t where dt = '01/01/2006';

Спасибо.

PS.
- здесь dt поле типа datetime
- изменение системной переменной MySQL 'date_format'&'datetime_format' не приводит к улучшению.

Добавлено: 08 сен 2006, 17:09
Otto
если надо просто datetime в date перевести:
select * from t where DATE(dt)='2006-01-01';

если надо еще и агрумент в твоем формате передавать, то:
select * from t where DATE_FORMAT(DATE(dt),'%d/%m/%Y')='01/01/2006';

Добавлено: 08 сен 2006, 17:17
vg
Otto писал(а):если надо просто datetime в date перевести:
select * from t where DATE(dt)='2006-01-01';

если надо еще и агрумент в твоем формате передавать, то:
select * from t where DATE_FORMAT(DATE(dt),'%d/%m/%Y')='01/01/2006';
Спасибо за ответ.
Как преобразовать я знаю. Надо именно так:
select * from t where DATE(dt)='2006-01-01';

Изменение системных переменных ничего не даёт. Тогда зачем они нужны?

Добавлено: 08 сен 2006, 17:31
Otto
Переменные date_format и datetime_format не реализованы, по крайней мере в MySQL 4.1

Добавлено: 08 сен 2006, 17:43
vg
Otto писал(а):Переменные date_format и datetime_format не реализованы, по крайней мере в MySQL 4.1
Когда делаешь set global ... или изменяяешь их в my.ini,
то show variables показывает обновление переменных. Т.е. переменные устанавливаются в новые значения.

PS. Это для 5.0.