powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как можно в Одно long field Брать Въражения с Побитовами операцъями
12 сообщений из 12, страница 1 из 1
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009459
EQUAL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
колеги помогите
как ето зделать очен долго думал очем много людей спрашъвал не кто не знае


TABLE
WK

SELECT * FROM WK WHERE PERSON_TYPE AND 1 AND PERSON_TYPE AND 4



я бъ хотел взят все rows whеre бит одно поднят и бит 3 тоже

как ето можно зделать
?








SELECT * FROM WK WHERE PERSON_TYPE AND
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009462
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из BOL

"& (Bitwise AND)
Performs a bitwise logical AND operation between two integer values.

Syntax
expression & expression

Arguments
expression

Is any valid Microsoft® SQL Server™ expression of any of the data types of the integer data type category. expression is an integer parameter that is treated and transformed into a binary number for the bitwise operation.

Result Types
Returns an int if the input values are int, a smallint if the input values are smallint, or a tinyint if the input values are tinyint
& (Bitwise AND)
Performs a bitwise logical AND operation between two integer values.

Syntax
expression & expression

Arguments
expression

Is any valid Microsoft® SQL Server™ expression of any of the data types of the integer data type category. expression is an integer parameter that is treated and transformed into a binary number for the bitwise operation.

Result Types
Returns an int if the input values are int, a smallint if the input values are smallint, or a tinyint if the input values are tinyint

Examples
This example creates a table with int data types to show the values, and puts the table into one row.

USE master
GO
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'bitwise')
DROP TABLE bitwise
GO
CREATE TABLE bitwise
(
a_int_value int NOT NULL,
b_int_value int NOT NULL
)
GO
INSERT bitwise VALUES (170, 75)
GO

This query performs the bitwise AND between the a_int_value and b_int_value columns.

USE MASTER
GO
SELECT a_int_value & b_int_value
FROM bitwise
GO

Here is the result set:

-----------
10

(1 row(s) affected)
"
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009471
Equal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AND Ето Булевая операцъя

naprimer


1 AND 0 = 0
1 AND 1 = 1
2 AND 1 = 1
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009474
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогое и уважаемое (-ый, -ая) Equal. В ваших вопросах какие-то обрывочные фразы, обрывочные мысли... И ответы вы тоже читаете обрывочно (чи с твердыми знаками, чи с мягкими ятями между ними). Если вам ответы не нужны, то зачем задавать вопросы? Данный эффект наблюдается как в текущей ветке, так и в предыдущей.
Объясните пожалуйста, чем отличается BITWISE AND (побитовое И - в переводе на русский) от приведенного вами примера?
Если вы - не русский, то, конечно же, плохое понимание русского текста вполне простительно. Однако, у меня сложилось впечатление, что английский вы тоже понимаете плохо.
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009483
Fompro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работа по маске. Р.Е.
SELECT ... FROM Users WHERE Permissions & 0x0101 = 0x0101
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009498
Equal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дорогоий Garya я не руской и англикий мой тоже наверное плахой как руский прошу извинить меня
я постаряюсь читать болие внимателно

ну щота ето битовая маска у меня не получается


У меня нет проблем с битовами масками в C++ и поетому мне интересно узнать що не так


USERID Permissions
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 90
10 21
11 32
12 43

SELECT *
FROM Users WHERE Permissions & 0x1 = 0x1;

ressul is

NULL
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009499
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
неужели это так сложно?

create table #Users(USERID int, Permissions int)
insert #Users select 1,1

SELECT *
FROM #Users WHERE Permissions & 0x1 = 0x1
---------------------------------------------

USERID Permissions
----------- -----------
1 1

(1 row(s) affected)
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009531
Equal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в Микрософт Аксесе 97 Ето ен работает
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009535
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то данный форум по MS SQL Server...
A в Access-97 при работе через JET используется AND. Только для того, чтобы побитовое AND выполнялось раньше логического, нужно соответствующим побразом расставить скобки:
SELECT *
FROM SomeTable WHERE (Fld AND 1) = 1
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009571
Equal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может щото не так но ето не работат в Микрософт Аксес 97
Garya попробъй если теб не трудфно у тебе на компютере
я попробувал одно к одному
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009594
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Equal, тебе удалось обнаружить одно из чудес в Access. Он действительно преобразовывает приведенный выше запрос к совершенно невообразимому виду:
SELECT TBL.FLD
FROM TBL
WHERE ((((TBL.FLD)=[TBL] And (TBL.FLD)=1)=1));

Видимо, он воспринимает AND в скобках как логическую операцию, а не как битовый оператор.
Я выкрутился так. Создал функцию:
Public Function fncAnd(SourceValue As Integer, Mask As Integer) As Integer
fncAnd = SourceValue And Mask
End Function

А потом сделал запрос с использованием функции:
SELECT [TBL].[FLD]
FROM TBL
WHERE ((fncAnd([FLD],1)=1));

Все заработало
...
Рейтинг: 0 / 0
Как можно в Одно long field Брать Въражения с Побитовами операцъями
    #32009599
Equal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SPOSIBO )))
rabotaet otlichno
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как можно в Одно long field Брать Въражения с Побитовами операцъями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]