Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизАрифметическое И в Access Найти похожие ветки
← →
Григорьев Антон © (2004-10-19 16:33) [0]Есть ли возможность сделать сабж при доступе через ADO в разделе WHERE оператора SELECT? Что-то вроде WHERE (SomeField AND 2)<>0? Или как-нибудь ещё сделать выборку по целочисленным полям, у которых взведён нужный мне бит?
← →
Ega23 © (2004-10-19 16:38) [1]Logical (bitwise) operators + F1
← →
Григорьев Антон © (2004-10-19 16:43) [2]
> Ega23 © (19.10.04 16:38) [1]
> Logical (bitwise) operators + F1
Это из справки по Delphi. А меня интересуют арифметические операторы в Access-диалекте SQL. Пока я их в справке не нашёл.
← →
Nikolay M. © (2004-10-19 16:46) [3]Чего-нить вроде
SELECT *
FROM tab
WHERE 4 * TRUNC(field / 4) - field >= 2
проверка 1-го бита (номера с 0), TRUNC - отбраысвание дроби, не помню, как это в аксесе?
← →
Johnmen © (2004-10-19 16:57) [4]>Григорьев Антон © (19.10.04 16:33)
Ответ зависит от реализации CAST в аксесе для действительных чисел. Т.е. что получитсяCAST(0.49 AS INT)= ?
CAST(0.50 AS INT)= ?
CAST(0.51 AS INT)= ?
← →
Григорьев Антон © (2004-10-19 17:13) [5]
> Johnmen © (19.10.04 16:57) [4]
> >Григорьев Антон © (19.10.04 16:33)
>
> Ответ зависит от реализации CAST в аксесе для действительных
> чисел.
CAST"a в Access нет. А Int для всех трёх случаев возвращает 0.
← →
Johnmen © (2004-10-19 17:38) [6]>Григорьев Антон © (19.10.04 17:13) [5]
>CAST"a в Access нет. А Int для всех трёх случаев возвращает 0.
А что есть кроме INT ? Что есть вместо CAST ?
← →
Григорьев Антон © (2004-10-19 17:49) [7]
> Johnmen © (19.10.04 17:38) [6]
> А что есть кроме INT ? Что есть вместо CAST ?
Есть куча разных функций типа CInt, CDbl и т.п. - каждая для своего типа. Кстати, CInt(0.51) даёт 1, а CInt(0.49) и CInt(0.50) - 0. Только при чём здесь всё это?
← →
Nikolay M. © (2004-10-19 18:03) [8]
> Nikolay M. © (19.10.04 16:46) [3]
> TRUNC - отбраысвание дроби, не помню, как это в аксесе?
Fix.
Тогда д.б.
SELECT id
FROM tab
WHERE (field - (4 * Fix(field / 4))) >= 2
ы?
← →
Johnmen © (2004-10-19 18:12) [9]>Григорьев Антон © (19.10.04 17:49) [7]
>Только при чём здесь всё это?
При поиске ответа на твой вопрос.
Проверить 5 бит в integer полеWHERE CInt(i/16.0-0.5)/2.0 - CInt((CInt(i/16.0-0.5)-0.5)/2.0) > 0
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c