|
MySQL.RU - Webboard
Вернуться
неверный результат селекта (AlxPonom) 10/12/2001 - 19:52:40
Re: неверный результат селекта (Anonymous) 12/12/2001 - 02:55:10
> Original message text:
> From: AlxPonom - 10/12/2001 - 19:52:40
> Subject:неверный результат селекта
> -----------------
> Здравствуйте.
>
> Есть проблема в MySQL 3.23.43-NT. Дан селект SELECT ... FROM ... WHERE ... AND PanelsLines.Line_Key = 158453 . В результате строк нет. Стоит поменять PanelsLines.Line_Key+0 = 158453 результирующие строки появляются. Причем появляются также при операциях -0, /1, *1. Вот описание поля(взято из CREATE TABLE)
> line_key int(11) default NULL. Все вроде нормально, но такое ощушение, что операцией +0, сервер приводит результат к какому-то типу, хотя, если логически думать, то тоже к integer-у наверно. В чем "грабли" не пойму. Help please.
>
>
>
>
From: - 12/12/2001 - 02:55:10
Subject:неверный результат селекта
-----------------
Привет.
У меня была давненько такая проблема с типом datetime - в некоем поле я хранил время некоего события, и мне необходило было узнать, сколько секунд назад оно произошло. Делал я так:
select now()-field from table...
Глюк был аналогичен - "не всегда верное" измерение этого самого времени. Нецензурно выругавшись, как водится, в адрес производителей зловреного мускуля, принялся выяснять, в чем дело. Оказалось банально как нога: мускуль, увидев арифметическую операцию, услужливо преобразует дату (хранящуюся далеко не в виде таймстэмпа, о чем я тогда не подумал) в число, удаляя из нее нафих все кроме цифр: '2001-10-10 10:10:20' => 20011010101020 :) Соответственно, вычитание в первые секунды после события происходило как я и ожидал, но как только начиналась новая минута, происходил скачок на 40 "секунд".
Вот наглядная демонстрация этого хитрющего эффекта:
select now(), now()+0;
PS. В вашем случае это наблюдение, конечно, не поможет, т.к. тип изначально integer, но кому-то это, наверное, может показаться интересным!
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
1128
|
|