Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 14/12/2012, 13h18   #21
enibris
Nouveau Membre du Club
 
Inscription : août 2005
Messages : 107
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 107
Points : 25
Points : 25
@CinePhil
ta requete ne marche pas

Code :
1
2
3
4
5
6
SELECT b,  gridb,
	CASE
		WHEN b = gridb THEN b
		ELSE '0000'
	END AS resultat_ET
FROM GRILLE

@Fred_34
cela marche tres bien :
Code :
SELECT a,grida,CONV(CONV(a,2,10) & CONV(grida,2,10),10,2)

Merci pour votre aide
enibris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 13h32   #22
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 13 659
Points : 25 561
Points : 25 561
Envoyer un message via MSN à CinePhil
Citation:
Envoyé par enibris Voir le message
@CinePhil
ta requete ne marche pas
Je viens de la tester avec le script de création et e remplissage de table de Fred_34 et ma requête fonctionne, en cochant l'option "afficher le contenu des blobs" dans phpMyAdmin après avoir exécuté la requête.

Toujours bien sûr en supposant que ce que tu cherches à faire est équivalent à un =, ce que tu n'as pas confirmé ni infirmé jusque là !

On peut améliorer ma requête pour afficher la valeur réelle :
Code :
1
2
3
4
5
6
7
SELECT CONV( b, 2, 2 ) AS b,
	CONV( gridb, 2, 2 ) AS gridb,
	CASE
		WHEN b = gridb THEN CONV( b, 2, 2 )
		ELSE CONV( '0000', 2, 2 )
	END AS resultat_ET
FROM grille
Mais alors, pourquoi avoir stocké ces valeurs dans un tinyblob ?

Code :
1
2
3
4
5
6
SELECT b,  gridb,
	CASE
		WHEN b = gridb THEN b
		ELSE '0000'
	END AS resultat_ET
FROM GRILLE
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
CinePhil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 13h37   #23
enibris
Nouveau Membre du Club
 
Inscription : août 2005
Messages : 107
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 107
Points : 25
Points : 25
@CinePhil
je veux faire un ET
1 & 1 = 1
1 & 0 = 0

Code :
1
2
3
4
5
6
 
10100010111000010001 
& 
00100001011101110000
=
00100000011000010000

tinyblob , franchement je ne sais plus, un char marche aussi bien


Merci quand meme
enibris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 14h28   #24
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
Code :
SELECT conv('101',2,2)&conv('101',2,2),conv('100',2,2)&conv('101',2,2)
le résultat est:
Citation:
101,100
en binaire directement chez moi... ce qui est cohérent...

mon sql_mode est vide donc j'ai les paramétrages par défaut... et je teste dans heidisql pas dans phpmyadmin qui peut avoir du mal sur l'interprétation des typages entiers et leur affichage
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 14h43   #25
Fred_34
Membre expérimenté
 
Homme Frédéric
Inscription : juin 2011
Messages : 442
Détails du profil
Informations personnelles :
Nom : Homme Frédéric
Localisation : France

Informations forums :
Inscription : juin 2011
Messages : 442
Points : 576
Points : 576
Citation:
Envoyé par ericd69 Voir le message
Code :
SELECT conv('101',2,2)&conv('101',2,2),conv('100',2,2)&conv('101',2,2)
le résultat est:

en binaire directement chez moi... ce qui est cohérent...

mon sql_mode est vide donc j'ai les paramétrages par défaut... et je teste dans heidisql pas dans phpmyadmin qui peut avoir du mal sur l'interprétation des typages entiers et leur affichage
J'obtiens la même chose, mais :
Code :
SELECT conv('1000',2,2)&conv('1010',2,2)
-> 992
Fred_34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2012, 17h27   #26
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
je reproduis aussi ce code avec ça regarde:
Code :
SELECT conv('1010',2,2)&conv('1010',2,2),conv('1000',2,2)&conv('1010',2,2);
ça donne:
Citation:
1010,992
si tu passes par la base 10, ça marche tout le temps...
Code :
SELECT conv('1010',2,2)&conv('1010',2,10),conv('1000',2,10)&conv('1010',2,10);
donc y a une obligation de différence de bases dans la fonction qui n'est pas documentée... un bug pour la base 2 vers elle-même pour certaines valeurs et pas d'autres...
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web