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

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

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

Сообщение vg »

Можно ли каким-то путём (простым) выполнить на MySQL выражение:

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

Спасибо.

PS.
- здесь dt поле типа datetime
- изменение системной переменной MySQL 'date_format'&'datetime_format' не приводит к улучшению.
Аватара пользователя
Otto
Пользователь
Сообщения: 91
Зарегистрирован: 08 июл 2006, 23:09
Откуда: Vancouver

Сообщение 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';
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение 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';

Изменение системных переменных ничего не даёт. Тогда зачем они нужны?
Аватара пользователя
Otto
Пользователь
Сообщения: 91
Зарегистрирован: 08 июл 2006, 23:09
Откуда: Vancouver

Сообщение Otto »

Переменные date_format и datetime_format не реализованы, по крайней мере в MySQL 4.1
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

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

PS. Это для 5.0.
Ответить