Страница 1 из 1
MySQL - крайне странные непонятки с логикой: select,тип date
Добавлено: Вт ноя 04, 2003 4:57 am
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', выбираются строки с совсем другими значениями этого столбца :(
Что я делаю не так?
Re: MySQL - крайне странные непонятки с логикой: select,тип date
Добавлено: Вт ноя 04, 2003 5:52 am
A. Fig Lee
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'

Re: MySQL - крайне странные непонятки с логикой: select,тип date
Добавлено: Вт ноя 04, 2003 5:57 am
lozzy
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 как число, а не строку.
Re: MySQL - крайне странные непонятки с логикой: select,тип date
Добавлено: Вт ноя 04, 2003 6:11 am
A. Fig Lee
lozzy писал(а):Pukite писал(а):Привет, коллеги!
Имеем таблицу табула и в ней множество столбцов, в том числе столбец датумс, определенный как дате нот нулл, там хранятся разные даты. Задача: выбрать из таблицы все записи между 2003-10-20 и 2003-10-21, записываю как
селецт * фром табула вхере датумс>=ь2003-10-20ь анд датумс-ь2003-10-21ь, выбираются строки с совсем другими значениями этого столбца

Что я делаю не так?
Да вроде все так, если в запросе таки стоит не знак минус а равно. Можно попробовать еще даты указывать в формате 20031020 как число, а не строку.
Ето лучше, только все равно строку.
Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 7:03 am
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
и многое другое - полезное для дат и не только.
Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 7:38 am
Dmitry67
zVlad писал(а): Pukite, меняйте MySQL на DB2 и Вы сможете написать:
Pukite, меняйте, wVlad Вам выплатит разницу в цене

Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 8:00 am
adb
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 справится (похуже конечно -)).
Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 8:36 am
lozzy
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 такое тоже есть, только синтаксис немного другой.
Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 11:13 am
zVlad
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.
Добавлено: Вт ноя 04, 2003 11:27 am
Dmitry67
Человек спросил про mySql
Предположим она бы послушалась Ваших советом
Как бы Вы отнеслись к человеку который приходит в команду и говорит - не то вы делаете. Код который уже написан надо переделать под (C#, MSSQL, you-name-it). А потом все заново перетестировать
Потом откуда Вы знаете что за задача стоит ? Одно дело советовать отказаться от mySQL если пишется финансовая система банка

, и совсем другое - допустим WEB-форум который еще и заявляется бесплатным
В математической школе нам все время повторяли "прежде чем решать задачу, иногда бывает полезно ознакомится с ее уловием". А то в Вас явно говорил маркетолог а не DBA.
Re: MySQL - крайне странные непонятки с логикой: select,тип
Добавлено: Вт ноя 04, 2003 11:28 am
lozzy
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
