Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
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 11/10/2011, 13h22   #1
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Par défaut Avoir une colonne virtuelle de type BIT

Bonjour.

J'ai une view du genre:
Code :
1
2
3
4
5
 
CREATE VIEW...
SELECT
 b'0' AS MonBit
...
Où j'aimerais que MonBit soit de type BIT et non pas VARBINARY.
Je n'ai absolument pas trouvé comment faire de CAST en ce sens.

Savez vous comment faire ?

Au pire, je créer une table d'une seule colonne avec deux lignes (pour 0 et pour 1) et pour chaque bit je fais (SELECT bitValue FROM tBits where bitValue = 1 -- ou 0).
Mais j'espère ne pas devoir en arriver à un stratagème aussi navrant.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 17h18   #2
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Y a pas moyen.
MySQL c'est de la m**** (y verra le mot "musique" qui voudra).

Essayez:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
CREATE TABLE WSS_Bit (
    val BIT(1) NOT NULL
    , CONSTRAINT PK_WSS_Bit PRIMARY KEY(val)
)
;
 
REPLACE WSS_Bit (
    val
)
SELECT b'0' UNION ALL SELECT b'1'
;
 
CREATE VIEW ttt
AS SELECT
    case when 2 > 1 then b1.val else b0.val end AS b
    , b0.val AS v0
    , b1.val AS v1
FROM wss_bit AS b0
CROSS JOIN wss_bit AS b1
WHERE b0.val = b'0'
AND b1.val = b'1'
;
Et voyez que le type des colonne pour ttt sont
b : int(1) -- Sérieux ?!
v0 : bit -- Waow, merci bien !
v1 : bit -- Très utile sous ces conditions...

Bref, le mot n'était pas "musique".
Sergejack 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 04h23.


 
 
 
 
Partenaires

Hébergement Web