Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизMS SQL 2000 и MySQL - результат разный? Найти похожие ветки
← →
Раиса © (2010-09-23 10:51) [0]Пишем типа запрос в MS SQL 2000 и выполняем. Результат равен 1.
declare @a4 int,@a5 int;
set @a4=132;
set @a5=25;
select ((((@a4&255)*256)+(@a5&255))/16)&63;
Пишем типа запрос в MySQL и выполняем. Результат равен 2.
set @a4=132;
set @a5=25;
select ((((@a4&255)*256)+(@a5&255))/16)&63;
Где у меня ошибка? В MySQL результат неверный....скорее всего... Наверное, надо указать тип int......
← →
Ega23 © (2010-09-23 11:20) [1]
> Где у меня ошибка?
Попробуй для MySQLselect Cast(((((@a4&255)*256)+(@a5&255))/16) as int)&63;
← →
sniknik © (2010-09-23 12:41) [2]в MSSQL если операнды целочисленные то и операция(результат) такой же
вот так проверь, что получается?select Cast(((((@a4&255)*256.0)+(@a5&255))/16.0) as int)&63;
← →
sniknik © (2010-09-23 12:49) [3]хотя нет, округления тут не при чем (в данном в примере варианте)
← →
Раиса © (2010-09-23 13:40) [4]в MSSQL если операнды целочисленные то и операция(результат) такой же. Я не знала, что в MySQL это не так. Написала в MySQL с функцией округления floor. Хотя это мне совсем не нравится.
Спасибо за ответ.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.056 c