|
|
|
Как в WHERE проверить бит числа?
|
|||
|---|---|---|---|
|
#18+
Добрый день! СУБД Pervasive. Есть небольшая проблемка, нужно в SELECT * FROM Billing WHERE ... в качестве фильтра поставить условие проверяющее N - ый бит некоторого поля. Например: (GetBitFlag (Flag, 17) == 0) - 17 бит равен 0. Но как такое сделать в SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2007, 18:18 |
|
||
|
Как в WHERE проверить бит числа?
|
|||
|---|---|---|---|
|
#18+
where Flag&65536 = 65536 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2007, 16:59 |
|
||
|
Как в WHERE проверить бит числа?
|
|||
|---|---|---|---|
|
#18+
Один бит можно проверить и арифметикой: Например, проверяем бит n - это число, назовем его х, равное 2 в степени n-1 проверка выглядит так Flag mod (x*2) >= x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.06.2007, 05:45 |
|
||
|
Как в WHERE проверить бит числа?
|
|||
|---|---|---|---|
|
#18+
Спасибо! 1. В Pervasive 8.7 - нет побитовых операций (. 2. А вот с MOD-ами получилось, всё работает ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2007, 09:08 |
|
||
|
|

start [/forum/topic.php?fid=56&msg=34600719&tid=2016145]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 375ms |

| 0 / 0 |
