Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928

Преобразование bigint в tinyint

08.08.2019, 10:56. Показов 2468. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Выполнив запрос select 123 - получаем столбец данных типа bigint. Мне нужно преобразовать его в tinyint. Функции cast и convert не помогут. Всякие ухищрения типа select 123 div 1 все равно возвращают bigint. Неужели никак?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.08.2019, 10:56
Ответы с готовыми решениями:

Boolean автоматически меняется на tinyint?
Здравствуйте, дорогие господа пользователи и программисты, Объясните пожалуйста, почему при работе с phpmyadmin когда я выбираю тип...

Компромисс между INT и BIGINT
Приветствую форумчан, Я новичок в MySql, поэтому мой вопрос может показаться кому то легким (а может и нет). Проектирую базу данных,...

Почему тип "boolean" преобразовывается в тип "tinyint(1)"?
При создании нового поля таблицы указываю тип "boolean", после чего он автоматически переводится в тип "tinyint(1)". Почему так...

6
Невнимательный
 Аватар для ft4l
3107 / 1282 / 358
Регистрация: 08.02.2013
Сообщений: 7,512
Записей в блоге: 2
08.08.2019, 11:50
В смысле нужна очистка битов не умещающихся в TINYINT ?

с TINYINT UNSIGNED вроде просто select 12345 & 255 или & 0xFF

c SIGNED всё сложнее, учитывая что
select CAST(0xFFFFFFFFFFFFFFFF AS SIGNED);
select CAST(0xFFFFFFFFFFFFFFFF AS UNSIGNED);

это разные числа и типа просто & 0x7F взависимости от 0x8000000000000000 тоже разные числа

Добавлено через 6 минут
и да.... select 256 & 0xFF; вернёт 0
0
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
08.08.2019, 12:11  [ТС]
Цитата Сообщение от ft4l Посмотреть сообщение
В смысле нужна очистка битов не умещающихся в TINYINT ?
грубо говоря - да
все предложенные вами варианты возвращают bigint ((
0
Невнимательный
 Аватар для ft4l
3107 / 1282 / 358
Регистрация: 08.02.2013
Сообщений: 7,512
Записей в блоге: 2
08.08.2019, 12:23
Так это просто числа, mysql работает с числами как с bigint ,
пока дело не доходит до хранения их в полях определённого типа.
Тогда с превышающими значениями взависимости от включенного режима два варианта
If strict SQL mode is enabled, MySQL rejects the out-of-range value with an error, and the insert fails, in accordance with the SQL standard.
If no restrictive modes are enabled, MySQL clips the value to the appropriate endpoint of the range and stores the resulting value instead.
....
If you store 256 into a TINYINT or TINYINT UNSIGNED column, MySQL stores 127 or 255, respectively.
0
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
08.08.2019, 12:34  [ТС]
не надо мне ничего сохранять, надо изменить тип данных динамического(калькулируемого, вычисляемого) поля
0
Невнимательный
 Аватар для ft4l
3107 / 1282 / 358
Регистрация: 08.02.2013
Сообщений: 7,512
Записей в блоге: 2
08.08.2019, 13:10
Лучший ответ Сообщение было отмечено mac1eod как решение

Решение

Не нашёл в доках подобного функционала, если только приведение типов в хранимых функциях, типа
MySQL
1
2
3
4
5
CREATE FUNCTION tinyfunc (s TINYINT)
    RETURNS TINYINT DETERMINISTIC
    RETURN CAST(s AS UNSIGNED);
 
SELECT tinyfunc(12345); -- возвращает 127 даже для -12345
1
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
08.08.2019, 13:27  [ТС]
ft4l, здорово) вы расширили мой взгляд на вещи)) спасибо!!!

Добавлено через 4 минуты
Цитата Сообщение от ft4l Посмотреть сообщение
-- возвращает 127 даже для -12345
у меня ошибка out of range при попытке передать отрицательные числа либо >127.
Но для меня это не критично, я буду передавать только 0 или 1. Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2019, 13:27
Помогаю со студенческими работами здесь

Преобразование tinyint в time SQL
Добрый день всем! Есть поле Data(тип date) есть поле hour (тип tinyint) нужно получить путем соединения этих двух полей третье поле...

BigInt to int
как перевести BigInt в int ? например int e=0; BigInteger bigE = new BigInteger(String.valueOf(e)); int res; и теперь нужно bigE...

BigInt to int
как перевести BigInt в int ? например int e=0; BigInteger bigE = new BigInteger(String.valueOf(e)); int res; и теперь нужно bigE...

Метаморфозы с BIGINT
Господа, может-ли кто-нибудь подсказать, почему при попытке записать число в поле типа BIGINT средствами php возникает следующая...

Достать bigint из БД
Пытаюсь достать значение типа bigint из БД PostgreSQL с помощью Visual C++: CDatabase cdbMyDB; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru