Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.051 c
3-1098418036
Denis_Ac
2004-10-22 08:07
2004.11.21
Заполнение DBCombobox/ DBListBox


4-1097580318
Lera
2004-10-12 15:25
2004.11.21
Обмен между приложениями.


1-1099647567
Pentium133
2004-11-05 12:39
2004.11.21
Delphi 6 и Delphi 4


6-1095128280
inkarik
2004-09-14 06:18
2004.11.21
Internet


14-1099645257
Dmitriy O.
2004-11-05 12:00
2004.11.21
Отчеты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский