MySQL - крайне странные непонятки с логикой: select,тип date
- Pukite
- Уже с Приветом
- Сообщения: 257
- Зарегистрирован: Сб апр 05, 2003 11:06 am
- Откуда: Европа :: Латвия
MySQL - крайне странные непонятки с логикой: select,тип date
Привет, коллеги!
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца :(
Что я делаю не так?
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца :(
Что я делаю не так?
Pukite
- A. Fig Lee
- Уже с Приветом
- Сообщения: 12072
- Зарегистрирован: Сб ноя 16, 2002 9:41 pm
- Откуда: английская колония
Re: MySQL - крайне странные непонятки с логикой: select,тип date
Pukite писал(а):Привет, коллеги!
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца
Что я делаю не так?
select * from tabula where datums>='2003-10-20' and datums<='2003-10-21'

Верить нельзя никому - даже себе. Мне - можно!
A. Fig Lee
-
- Уже с Приветом
- Сообщения: 2435
- Зарегистрирован: Вт июн 12, 2001 4:01 am
Re: MySQL - крайне странные непонятки с логикой: select,тип date
Pukite писал(а):Привет, коллеги!
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца
Что я делаю не так?
Да вроде все так, если в запросе таки стоит не знак минус а равно. Можно попробовать еще даты указывать в формате 20031020 как число, а не строку.
Steel helmet protects your teeth from the morning to the evening.
lozzy
- A. Fig Lee
- Уже с Приветом
- Сообщения: 12072
- Зарегистрирован: Сб ноя 16, 2002 9:41 pm
- Откуда: английская колония
Re: MySQL - крайне странные непонятки с логикой: select,тип date
lozzy писал(а):Pukite писал(а):Привет, коллеги!
Имеем таблицу табула и в ней множество столбцов, в том числе столбец датумс, определенный как дате нот нулл, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как селецт * фром табула вхере датумс>=ь2003-10-20ь анд датумс-ь2003-10-21ь, выбираются строки с совсем другими значениями этого столбца
Что я делаю не так?
Да вроде все так, если в запросе таки стоит не знак минус а равно. Можно попробовать еще даты указывать в формате 20031020 как число, а не строку.
Ето лучше, только все равно строку.
Верить нельзя никому - даже себе. Мне - можно!
A. Fig Lee
-
- Уже с Приветом
- Сообщения: 15441
- Зарегистрирован: Ср апр 30, 2003 11:43 am
- Благодарил (а): 3 раза
Re: MySQL - крайне странные непонятки с логикой: select,тип
Pukite писал(а):Привет, коллеги!
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца
Что я делаю не так?
Pukite, меняйте MySQL на DB2 и Вы сможете написать:
select * from tabula where datums between '2003-10-20' and '2003-10-21'
и получить правильный ответ. А также Вы сможете писать, например:
select * from tabula where datums>='2003-10-20' and CURRENT DATE + 1 MONTHS
и многое другое - полезное для дат и не только.
zVlad
- Dmitry67
- Уже с Приветом
- Сообщения: 28294
- Зарегистрирован: Вт авг 29, 2000 4:01 am
- Откуда: SPB --> Gloucester, MA, US --> SPB --> Paris
- Контактная информация:
Re: MySQL - крайне странные непонятки с логикой: select,тип
zVlad писал(а): Pukite, меняйте MySQL на DB2 и Вы сможете написать:
Pukite, меняйте, wVlad Вам выплатит разницу в цене

Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
Dmitry67
- adb
- Уже с Приветом
- Сообщения: 9277
- Зарегистрирован: Пт дек 14, 2001 4:01 am
- Откуда: Российская Федерация
Re: MySQL - крайне странные непонятки с логикой: select,тип
zVlad писал(а): Pukite, меняйте MySQL на DB2 и Вы сможете написать:
select * from tabula where datums between '2003-10-20' and '2003-10-21'
и получить правильный ответ. А также Вы сможете писать, например:
select * from tabula where datums>='2003-10-20' and CURRENT DATE + 1 MONTHS
и многое другое - полезное для дат и не только.
Разве between не входит в стандарт SQL-92? PostgreSQL это вполне прожовывает. Я думаю и MySql справится (похуже конечно -)).
adb
-
- Уже с Приветом
- Сообщения: 2435
- Зарегистрирован: Вт июн 12, 2001 4:01 am
Re: MySQL - крайне странные непонятки с логикой: select,тип
zVlad писал(а):Pukite писал(а):Привет, коллеги!
Имеем таблицу tabula и в ней множество столбцов, в том числе столбец datums, определенный как date not null, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как select * from tabula where datums>='2003-10-20' and datums-'2003-10-21', выбираются строки с совсем другими значениями этого столбца
Что я делаю не так?
Pukite, меняйте MySQL на DB2 и Вы сможете написать:
select * from tabula where datums between '2003-10-20' and '2003-10-21'
и получить правильный ответ. А также Вы сможете писать, например:
select * from tabula where datums>='2003-10-20' and CURRENT DATE + 1 MONTHS
В MySQL такое тоже есть, только синтаксис немного другой.
Steel helmet protects your teeth from the morning to the evening.
lozzy
-
- Уже с Приветом
- Сообщения: 15441
- Зарегистрирован: Ср апр 30, 2003 11:43 am
- Благодарил (а): 3 раза
Re: MySQL - крайне странные непонятки с логикой: select,тип
Dmitry67 писал(а):zVlad писал(а): Pukite, меняйте MySQL на DB2 и Вы сможете написать:
Pukite, меняйте, wVlad Вам выплатит разницу в цене
Everything has its own price.
Dmitry67, what do you think is a price for wrong results from requests to database?
My opinion is that Pukite will have a profit even though cost of MySQL = $0.
zVlad
- Dmitry67
- Уже с Приветом
- Сообщения: 28294
- Зарегистрирован: Вт авг 29, 2000 4:01 am
- Откуда: SPB --> Gloucester, MA, US --> SPB --> Paris
- Контактная информация:
Человек спросил про mySql
Предположим она бы послушалась Ваших советом
Как бы Вы отнеслись к человеку который приходит в команду и говорит - не то вы делаете. Код который уже написан надо переделать под (C#, MSSQL, you-name-it). А потом все заново перетестировать
Потом откуда Вы знаете что за задача стоит ? Одно дело советовать отказаться от mySQL если пишется финансовая система банка
, и совсем другое - допустим WEB-форум который еще и заявляется бесплатным
В математической школе нам все время повторяли "прежде чем решать задачу, иногда бывает полезно ознакомится с ее уловием". А то в Вас явно говорил маркетолог а не DBA.
Предположим она бы послушалась Ваших советом
Как бы Вы отнеслись к человеку который приходит в команду и говорит - не то вы делаете. Код который уже написан надо переделать под (C#, MSSQL, you-name-it). А потом все заново перетестировать

Потом откуда Вы знаете что за задача стоит ? Одно дело советовать отказаться от mySQL если пишется финансовая система банка


В математической школе нам все время повторяли "прежде чем решать задачу, иногда бывает полезно ознакомится с ее уловием". А то в Вас явно говорил маркетолог а не DBA.
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
Dmitry67
-
- Уже с Приветом
- Сообщения: 2435
- Зарегистрирован: Вт июн 12, 2001 4:01 am
Re: MySQL - крайне странные непонятки с логикой: select,тип
zVlad писал(а): Everything has its own price.
Dmitry67, what do you think is a price for wrong results from requests to database?
My opinion is that Pukite will have a profit even though cost of MySQL = $0.
It is not a wrong result. In most cases it is called 'кривые руки'. And last, but not least, MySQL commercial license costs $400

Steel helmet protects your teeth from the morning to the evening.
lozzy
Вернуться в «Вопросы и новости IT»
Перейти
- Форум Привет
- ↳ Общие разделы
- ↳ О жизни
- ↳ Политика
- ↳ Украина
- ↳ Эмиграция
- ↳ Вопросы Истории
- ↳ Возвращение
- ↳ Финансы
- ↳ Канадский Клуб
- ↳ Инвестирование
- ↳ Города и окрестности
- ↳ Прочее
- ↳ Дом. Быт. Семья
- ↳ Наши дети
- ↳ Наши родители
- ↳ Мой дом
- ↳ Продажа и покупка недвижимости
- ↳ Огород
- ↳ Ремонт и строительство
- ↳ Мастерская
- ↳ Здоровье
- ↳ Кулинария
- ↳ Фитнес
- ↳ Шоппинг
- ↳ Работа. Карьера. Образование
- ↳ Работа и Карьера в IT
- ↳ Образование
- ↳ Карьера и Работа
- ↳ Пенсии
- ↳ Вопросы и новости IT
- ↳ Английский язык
- ↳ Русский и другие языки
- ↳ Малый бизнес
- ↳ Хобби. Досуг. Искусство
- ↳ Путешествия
- ↳ Наука и Жизнь
- ↳ Отдых и Cпорт
- ↳ Авиация, космонавтика, мореплавание
- ↳ Фото-Видео
- ↳ Головоломки
- ↳ Литература и Искусство
- ↳ О братьях наших меньших
- ↳ Воспоминания
- ↳ Юмор, шутки
- ↳ Об оружии
- ↳ Электроника
- ↳ Автомобили
- ↳ За рулём
- ↳ Административные вопросы
- ↳ Матчасть
- ↳ Техника вождения
- ↳ Разделы по интересам
- ↳ О религии
- ↳ По ту сторону разума
- ↳ Разное
- ↳ Ищу друзей
- ↳ Объявления
- ↳ Анти-Реклама
- ↳ Архив