OVH Cloud OVH Cloud

inverse un type bit dans un update

6 réponses
Avatar
Troyan
Bonjour je cherche a changer l'etat d'une valeur boolean.

exemple de update

update MATABLE
set GENERAL = INVERSE(GENERAL)
where ID_GEN = 500





du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle passe a
0

6 réponses

Avatar
VUILLERMET Jacques
UPDATE MATABLE
SET GENERAL CASE GENERAL
WHEN 1 THEN 0
WHEN 0 THEN 1
END
WHERE ID_GEN = 500


"Troyan" a écrit dans le message de news:

Bonjour je cherche a changer l'etat d'une valeur boolean.

exemple de update

update MATABLE
set GENERAL = INVERSE(GENERAL)
where ID_GEN = 500





du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle passe


a
0




Avatar
Troyan
merci j'avais effectivment opté pour cette solution à peine differente mais
je cherchais un truc en pur SQL !!
bizarre que ca n'existe pas !!!


"VUILLERMET Jacques" a écrit dans le message de
news:
UPDATE MATABLE
SET GENERAL > CASE GENERAL
WHEN 1 THEN 0
WHEN 0 THEN 1
END
WHERE ID_GEN = 500


"Troyan" a écrit dans le message de news:

> Bonjour je cherche a changer l'etat d'une valeur boolean.
>
> exemple de update
>
> update MATABLE
> set GENERAL = INVERSE(GENERAL)
> where ID_GEN = 500
>
>
>
>
>
> du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle


passe
a
> 0
>
>




Avatar
Med Bouchenafa [MVP]
update MATABLE
set GENERAL = -1 -SIGN(GENERAL)
where ID_GEN = 500

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"Troyan" a écrit dans le message de news:

merci j'avais effectivment opté pour cette solution à peine differente mais
je cherchais un truc en pur SQL !!
bizarre que ca n'existe pas !!!


"VUILLERMET Jacques" a écrit dans le message de
news:
> UPDATE MATABLE
> SET GENERAL > > CASE GENERAL
> WHEN 1 THEN 0
> WHEN 0 THEN 1
> END
> WHERE ID_GEN = 500
>
>
> "Troyan" a écrit dans le message de news:
>
> > Bonjour je cherche a changer l'etat d'une valeur boolean.
> >
> > exemple de update
> >
> > update MATABLE
> > set GENERAL = INVERSE(GENERAL)
> > where ID_GEN = 500
> >
> >
> >
> >
> >
> > du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle
passe
> a
> > 0
> >
> >
>
>




Avatar
Troyan
Merci Med !!

je suis surpris de pas avoir eu de reponse de Fred !

cela me permettras un portage plus simple vers d'autres SGBDR si j'utilise
du SQL (enfin j'espere !)



Encore Merci !!!





"Med Bouchenafa [MVP]" a écrit dans le message de
news: #
update MATABLE
set GENERAL = -1 -SIGN(GENERAL)
where ID_GEN = 500

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"Troyan" a écrit dans le message de news:

> merci j'avais effectivment opté pour cette solution à peine differente


mais
> je cherchais un truc en pur SQL !!
> bizarre que ca n'existe pas !!!
>
>
> "VUILLERMET Jacques" a écrit dans le message de
> news:
> > UPDATE MATABLE
> > SET GENERAL > > > CASE GENERAL
> > WHEN 1 THEN 0
> > WHEN 0 THEN 1
> > END
> > WHERE ID_GEN = 500
> >
> >
> > "Troyan" a écrit dans le message de news:
> >
> > > Bonjour je cherche a changer l'etat d'une valeur boolean.
> > >
> > > exemple de update
> > >
> > > update MATABLE
> > > set GENERAL = INVERSE(GENERAL)
> > > where ID_GEN = 500
> > >
> > >
> > >
> > >
> > >
> > > du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle
> passe
> > a
> > > 0
> > >
> > >
> >
> >
>
>




Avatar
Fred BROUARD - SQLpro
le type booléen n'exste ps en SQL 2...

SQL 3 (1999) l'a noralisé, mais c'est pas encore très implémenté.

Le mieux étant de gérer un domaine booléen d'après un type normalisé si
tu veut une uniformisation pour portage... Par exemple SMALLINT.

A +

Troyan a écrit :
Merci Med !!

je suis surpris de pas avoir eu de reponse de Fred !

cela me permettras un portage plus simple vers d'autres SGBDR si j'utilise
du SQL (enfin j'espere !)



Encore Merci !!!





"Med Bouchenafa [MVP]" a écrit dans le message de
news: #

update MATABLE
set GENERAL = -1 -SIGN(GENERAL)
where ID_GEN = 500

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"Troyan" a écrit dans le message de news:


merci j'avais effectivment opté pour cette solution à peine differente





mais

je cherchais un truc en pur SQL !!
bizarre que ca n'existe pas !!!


"VUILLERMET Jacques" a écrit dans le message de
news:

UPDATE MATABLE
SET GENERAL >>>> CASE GENERAL
WHEN 1 THEN 0
WHEN 0 THEN 1
END
WHERE ID_GEN = 500


"Troyan" a écrit dans le message de news:


Bonjour je cherche a changer l'etat d'une valeur boolean.

exemple de update

update MATABLE
set GENERAL = INVERSE(GENERAL)
where ID_GEN = 500





du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle





passe

a

0



















--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Avatar
VUILLERMET Jacques
Bien vu !

Jacques.

"Med Bouchenafa [MVP]" a écrit dans le message de
news: #
update MATABLE
set GENERAL = -1 -SIGN(GENERAL)
where ID_GEN = 500

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"Troyan" a écrit dans le message de news:

> merci j'avais effectivment opté pour cette solution à peine differente


mais
> je cherchais un truc en pur SQL !!
> bizarre que ca n'existe pas !!!
>
>
> "VUILLERMET Jacques" a écrit dans le message de
> news:
> > UPDATE MATABLE
> > SET GENERAL > > > CASE GENERAL
> > WHEN 1 THEN 0
> > WHEN 0 THEN 1
> > END
> > WHERE ID_GEN = 500
> >
> >
> > "Troyan" a écrit dans le message de news:
> >
> > > Bonjour je cherche a changer l'etat d'une valeur boolean.
> > >
> > > exemple de update
> > >
> > > update MATABLE
> > > set GENERAL = INVERSE(GENERAL)
> > > where ID_GEN = 500
> > >
> > >
> > >
> > >
> > >
> > > du style si la valeur est 0 elle passe à -1 et si elle est a -1 elle
> passe
> > a
> > > 0
> > >
> > >
> >
> >
>
>