![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS SQL 2000 и MySQL - результат разный? [D7, MSSQL, MySQL]
Раиса © (2010-09-23 10:51:00)Пишем типа запрос в 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......
Раиса (2010-09-23 13:40:00) [1]в MSSQL если операнды целочисленные то и операция(результат) такой же. Я не знала, что в MySQL это не так. Написала в MySQL с функцией округления floor. Хотя это мне совсем не нравится.
Спасибо за ответ.
sniknik (2010-09-23 12:49:00) [2]хотя нет, округления тут не при чем (в данном в примере варианте)
sniknik (2010-09-23 12:41:00) [3]в MSSQL если операнды целочисленные то и операция(результат) такой же
вот так проверь, что получается?
select Cast(((((@a4&255)*256 .0)+(@a5&255))/16 .0) as int)&63;
Ega23 (2010-09-23 11:20:00) [4]
> Где у меня ошибка?
Попробуй для MySQL
select Cast(((((@a4&255)*256)+(@a5&255))/16) as int)&63;