Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 11h52   #1
Membre Expert
 
Inscription : octobre 2007
Messages : 3 948
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 948
Points : 1 905
Points : 1 905
Par défaut Operation booleenes sur integer

Bonjour

Est il possible d'utiliser des operations boleenne en Sql Server

Du genre

A = (A OR B)
ou
A = (A AND B)

Ce que j'écrirais en C#
A |= B;
A &= B;


Merci de votre aide
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 09h19   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
Non, pas directement. En revanche en utilisant des données de type hexadécimal, vous pouvez faire des opérations booléennes avec :
| => ou
& => et
^ => ou exclusif
NOT => négation

A =
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 11h21   #3
Membre Expert
 
Inscription : octobre 2007
Messages : 3 948
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 948
Points : 1 905
Points : 1 905
Bonjour SQL Pro

J'avais peut etre mal posé la question ou je n'ai pas bien compris ta réponse, mais j'ai découvert que ce que je n'osais pas esperer est tout a fait possible

Exemple

Code :
SELECT * FROM MaTable WHERE (MaTable.STATUS | 128) = 128
Va sortir tous les status 128, 129, 130, 131 etc...

Ou bien

Code :
1
2
3
4
UPDATE 
MaTable
SET STATUS = (STATUS | 128)
WHERE STATUS=7
N.B. : Avec des types int !!
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h35   #4
Membre Expert
 
Inscription : août 2009
Messages : 779
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 779
Points : 1 098
Points : 1 098
Citation:
Envoyé par olibara Voir le message
Code :
SELECT * FROM MaTable WHERE (MaTable.STATUS | 128) = 128
Va sortir tous les status 128, 129, 130, 131 etc...
Non, il s'agit d'un "ou" bit à bit ; comme 128 ne porte que sur un seul bit, (x|128) = 128 n'est vrai que pour x = 128.
On peut faire à peu près cela avec un "&", mais outre les nombres compris entre 129 et 255, ça va aussi sortir ceux qui sont compris entre 384 et 511, etc.
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 11h55   #5
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 791
Points : 17 791
A lire : http://sqlpro.developpez.com/cours/stockageopt/

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/01/2012, 12h24   #6
Membre Expert
 
Inscription : octobre 2007
Messages : 3 948
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 3 948
Points : 1 905
Points : 1 905
Bien vu Rei Ichido !

C'est bien entendu un & que je voulais écrire
J'ai ecrit le message trop vite sans me relire
__________________
« Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)
olibara est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h03.


 
 
 
 
Partenaires

Hébergement Web