Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.06.2018, 22:57
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
Всем привет, недавно начал изучать mysql, столкнулся с проблемой - при выводе таблицы дробные числа отображаются как целые, делал вроде все правильно, рылся в инете, так и не смог понять. Помогите пожалуйста. create database cookie; use cookie create table cookie_sales ( ID int not null auto_increment, first_name varchar(20) default null, sales dec(4.2) default null, sale_date DATE, primary key(ID) ); insert into cookie_sales (first_name, sales, sale_date) values ('Линдси',32.02, '2007-3-6'),('Пэрис',26.53, '2007-3-6'), ('Бритни',11.25, '2007-3-6'),('Николь',18.96, '2007-3-6'), ('Линдси',9.16, '2007-3-7'),('Пэрис',1.52, '2007-3-7'), ('Бритни',43.21, '2007-3-7'),('Николь',8.05, '2007-3-7'), ('Линдси',17.62, '2007-3-8'),('Пэрис',24.19, '2007-3-8'), ('Бритни',3.40, '2007-3-8'),('Николь',15.21, '2007-3-8'), ('Линдси',0, '2007-3-9'),('Пэрис',31.99, '2007-3-9'), ('Бритни',2.58, '2007-3-9'),('Николь',0, '2007-3-9'), ('Линдси',2.34, '2007-3-10'),('Пэрис',13.44, '2007-3-10'), ('Бритни',8.78, '2007-3-10'),('Николь',26.82, '2007-3-10'), ('Линдси',3.71, '2007-3-11'),('Пэрис',0.56, '2007-3-11'), ('Бритни',34.19, '2007-3-11'),('Николь',7.77, '2007-3-11'), ('Линдси',16.23, '2007-3-12'),('Пэрис',0, '2007-3-12'), ('Бритни',4.50, '2007-3-12'),('Николь',19.22, '2007-3-12'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:01
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
да еще и округляет, заметил после публикации сообщения! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:12
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
dermama, посмотрите в show create table на свою табличку. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Хотя если это пример из какой-то книги, то наверное просто не видно. dec(4.2) и dec(4,2) - две очень большие разницы. И да, это странный mysql, который пытается поломать добавляемые данные вместо сообщения об ошибке. Поэтому я аже не удивлён, что нет даже варнинга от попытки объвить decimal с дробным числом целых. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:29
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
я перебирал разные варианты и подумал может быть стоит изменить dec на decimal хотя это одно и тоже, да это пример из книги, скорее всего косяк в запятой от невнимательности, сейчас проверю. alter table cookie_sales change column sales sales decimal (4.2); опять же тут точка, вопрос, почему тогда mysql это пропускает, ща переделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:32
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
заменил на запятую, но особо не помогло))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:35
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
это я пытался скопировать таблицу из книги, чтобы задания поделать, исходного кода там нет, поэтому я сам все делал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:44
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
Кстати пробовал менять на DOUBLE - та же история , просто целые числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.06.2018, 23:46
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
Melkij, у меня немного по-другому показывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 01:31
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
с чего оно поможет то, если вы просто alter table колонке сделали значения как были целыми, так и остались дропайте таблицу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 04:08
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
это изменит тип значений после ALTER Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 20:52
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
tip78с чего оно поможет то, если вы просто alter table колонке сделали значения как были целыми, так и остались дропайте таблицу Дропнул таблицу, все помогло, большое спасибо Но почему когда я менял запятую в команде alter table с помощью метода change, при повторном возврате таблицы числа остались целыми? метод change для того и создан был чтобы менять тип данных, а вы говорите, что я просто alter table сделал, я сделал его как раз для того чтобы изменить их) но старнно, они же ведь и были не целыми так как я ставил DEC с плавающей точкой, да еще и точку в скобках сам mysql пропустил...спасибо зза внимание ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 20:55
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
dermamatip78с чего оно поможет то, если вы просто alter table колонке сделали значения как были целыми, так и остались дропайте таблицу Дропнул таблицу, все помогло, большое спасибо Но почему когда я менял запятую в команде alter table с помощью метода change, при повторном возврате таблицы числа остались целыми? метод change для того и создан был чтобы менять тип данных, а вы говорите, что я просто alter table сделал, я сделал его как раз для того чтобы изменить их) но старнно, они же ведь и были не целыми так как я ставил DEC с плавающей точкой, да еще и точку в скобках сам mysql пропустил...спасибо зза внимание все понял, с помощью change меняют тип данныз например с int на dec и т.д. а я же поменял только точку на запятую... Выходит если бы я так накосячил на таблице с 10к строками и в этих строках не было бы ни одного значения с плав. точкой, а потом на 10001ой я решил бы его добавить и понял что не могу этого сдлелать, то все, таблице кирдык?????? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 23:34
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
у вас в колонке были ЦЕЛЫЕ числа, поскольку вы её создали для ЦЕЛЫХ чисел dec(4.2) - це ЦЕЛОЕ, а dec(4,2) - це дробное и после того как вы его переделали в дробное через alter table, оно лишь получило .00, т.к. у этого числа никогда не было дробной части и оно понятия не имеет, какие там цифры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 23:36
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
и есессно, если вы дробную колонку переделаете на целое, дробную часть потеряется навсегда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 23:49
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
tip78у вас в колонке были ЦЕЛЫЕ числа, поскольку вы её создали для ЦЕЛЫХ чисел dec(4.2) - це ЦЕЛОЕ, а dec(4,2) - це дробное и после того как вы его переделали в дробное через alter table, оно лишь получило .00, т.к. у этого числа никогда не было дробной части и оно понятия не имеет, какие там цифры Сейас запутался немного, в книге не помню чтобы так объясняли, то есть как я понимаю если я ставлю тип DEC, то в моем понимании я уже говорю муsql , что в этой колонке будут целые числа с плавающей точкой, но только в том случае, если я укажу ',' в скобках, а если я в скобках указываю '.', то язык воспринимает числа как int что ли???? блин, тогда почему бы ему не написать Error или что то типа того)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.06.2018, 23:55
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
.00, т.к. у этого числа никогда не было дробной части и оно понятия не имеет, какие там цифры[/quot] тоже не совсем понимаю, я же в insert into четко указал, что у меня там дробные числа.....почему после замены на запятую, он не берет те значения, котрые я вносил в insert into?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2018, 00:04
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
dermamaтоже не совсем понимаю, я же в insert into четко указал, что у меня там дробные числа.....почему после замены на запятую, он не берет те значения, котрые я вносил в insert into??А покажите полный и точный текст вашего INSERT-а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2018, 00:10
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
miksoftdermamaтоже не совсем понимаю, я же в insert into четко указал, что у меня там дробные числа.....почему после замены на запятую, он не берет те значения, котрые я вносил в insert into??А покажите полный и точный текст вашего INSERT-а. Да, конечно, insert into cookie_sales (first_name, sales, sale_date) values ('Линдси',32.02, '2007-3-6'),('Пэрис',26.53, '2007-3-6'), ('Бритни',11.25, '2007-3-6'),('Николь',18.96, '2007-3-6'), ('Линдси',9.16, '2007-3-7'),('Пэрис',1.52, '2007-3-7'), ('Бритни',43.21, '2007-3-7'),('Николь',8.05, '2007-3-7'), ('Линдси',17.62, '2007-3-8'),('Пэрис',24.19, '2007-3-8'), ('Бритни',3.40, '2007-3-8'),('Николь',15.21, '2007-3-8'), ('Линдси',0, '2007-3-9'),('Пэрис',31.99, '2007-3-9'), ('Бритни',2.58, '2007-3-9'),('Николь',0, '2007-3-9'), ('Линдси',2.34, '2007-3-10'),('Пэрис',13.44, '2007-3-10'), ('Бритни',8.78, '2007-3-10'),('Николь',26.82, '2007-3-10'), ('Линдси',3.71, '2007-3-11'),('Пэрис',0.56, '2007-3-11'), ('Бритни',34.19, '2007-3-11'),('Николь',7.77, '2007-3-11'), ('Линдси',16.23, '2007-3-12'),('Пэрис',0, '2007-3-12'), ('Бритни',4.50, '2007-3-12'),('Николь',19.22, '2007-3-12'); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2018, 00:12
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
вот теперь после select * from ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2018, 13:55
|
|||
|---|---|---|---|
|
|||
Дробные числа! |
|||
|
#18+
dermamaя же в insert into четко указал, что у меня там дробные числа.....почему после замены на запятую, он не берет те значения, котрые я вносил в insert into?? Если ты положил в холодильник половину слона, поскольку целый туда не влез, будешь ты ожидать достать из него целого слона после расширения дверки?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2018, 14:47
|
|||
|---|---|---|---|
Дробные числа! |
|||
|
#18+
dermamaСейас запутался немного, в книге не помню чтобы так объясняли, то есть как я понимаю если я ставлю тип DEC, то в моем понимании я уже говорю муsql , что в этой колонке будут целые числа с плавающей точкой, но только в том случае, если я укажу ',' в скобках, а если я в скобках указываю '.', то язык воспринимает числа как int что ли???? блин, тогда почему бы ему не написать Error или что то типа того)))) авторMySQL, будучи недостаточно строгой СУБД, задорно игнорирует ваши настройки и ограничения целостности (она просто хочет помочь); она легко вставит пустую строку "" в колонку с запретом на добавление пустых значений; она с радостью вставит бесполезные даты (вроде 0000-00-00) в колонки с датами при запрете добавления пустых значений; она умеет делить на ноль и вернёт NULL при вычислении 1/0; она вернёт NULL при делении строки на ноль; если вы попробуете вставить значение 1000 в колонку с длиной равной двум, то она просто немного округлит это значение до 99. Всё это должно дать вам повод задуматься об использовании MySQL: эта система не проверяет ваши данные, зато она пытается показаться «удобной» ценой целостности данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1829795]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 167ms |

| 0 / 0 |
