Requête mySQL utilisant WHERE et SUBSTR
Fermé
thipyt
-
23 mai 2008 à 19:24
ludo394 Messages postés 1 Date d'inscription jeudi 19 janvier 2012 Statut Membre Dernière intervention 19 janvier 2012 - 19 janv. 2012 à 18:06
ludo394 Messages postés 1 Date d'inscription jeudi 19 janvier 2012 Statut Membre Dernière intervention 19 janvier 2012 - 19 janv. 2012 à 18:06
A voir également:
- Substr mysql
- Mysql community server - Télécharger - Bases de données
- Mysql error 1 ✓ - Forum Réseaux sociaux
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Mysql fatal error ✓ - Forum MySQL
- Le serveur mysql est inaccessible. vérifiez votre configuration. ✓ - Forum MySQL
6 réponses
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
24 mai 2008 à 20:10
24 mai 2008 à 20:10
Ton problème, posé comme ça, n'est pas clair!
Donne moi un exemple de ton id_com si c'est possible!
Sinon, essaye d'enlever les parenthèses!
J'ai essayé cette syntaxe et ça marche pour moi thypit :
SELECT * FROM TABLE WHERE SUBSTR(CHAMPS,1,4) = "abcd";
Epsilone
Donne moi un exemple de ton id_com si c'est possible!
Sinon, essaye d'enlever les parenthèses!
J'ai essayé cette syntaxe et ça marche pour moi thypit :
SELECT * FROM TABLE WHERE SUBSTR(CHAMPS,1,4) = "abcd";
Epsilone
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
23 mai 2008 à 20:25
23 mai 2008 à 20:25
Si tu veux récuprer les 5 premiers caractères de ton id_com, tu dois faire : SUBSTR(id_com,1,5)
Voici la syntaxe :
SUBSTR(str,pos): sélectionne tous les caractères de <str> en commençant par position <pos>. Notez que cette syntaxe n’est pas prise en charge par SQL Server.
SUBSTR(str,pos,len): en commençant par le caractère <pos> dans la chaîne <str>, sélectionne les caractères <len> suivants.
Sinon, si tes id_com sont sous le format :
id_com
133012
233012
133026
333012
133045
233045
433012
533012
Bin je ne vois pas l'utilité de ce SUBSTR!
Explique moi!
Epsilone
Voici la syntaxe :
SUBSTR(str,pos): sélectionne tous les caractères de <str> en commençant par position <pos>. Notez que cette syntaxe n’est pas prise en charge par SQL Server.
SUBSTR(str,pos,len): en commençant par le caractère <pos> dans la chaîne <str>, sélectionne les caractères <len> suivants.
Sinon, si tes id_com sont sous le format :
id_com
133012
233012
133026
333012
133045
233045
433012
533012
Bin je ne vois pas l'utilité de ce SUBSTR!
Explique moi!
Epsilone
En faisant SUBSTR(id_com, -5, 5), je récupère bien seulement mon login, du moins en php. Je sais donc que la fonction fonctionne, je l'ai testé et affiché mes login issus de cette fonction.
Le soucis, c'est que pour faire une pagination qui nécessitera un certain nombre de tests, je dois utiliser cette fonction SUBSTR dans mon WHERE, pour ne prendre en compte que les id_com correspondant à mon login, c'est à dire le login que je compare, comme expliqué dans mon premier message.
Ma question n'est donc pas de savoir comment fonction la fonction SUBSTR, mais plutôt de savoir s'il est possible de l'utiliser dans un WHERE et si oui, comment.
Tu dis ne pas voir l'utilité de mon SUBSTR, mais comment veux-tu retrouver les com correspondant à mon login (de 5 chiffres et commençant par 33) sans utiliser cette fonction??
J'ai trouvé cette fonction et j'ai pensé qu'elle pouvait correspondre à mon besoin, maintenant il y a peut être d'autres solutions et qu'effectivement cette fonction n'est pas adaptée ici...
Je n'ai pas la prétention de tout connaitre du php et mySQL mais et c'est pour ça que j'espère que quelqu'un pourra m'aider à résoudre mon problème!
Le soucis, c'est que pour faire une pagination qui nécessitera un certain nombre de tests, je dois utiliser cette fonction SUBSTR dans mon WHERE, pour ne prendre en compte que les id_com correspondant à mon login, c'est à dire le login que je compare, comme expliqué dans mon premier message.
Ma question n'est donc pas de savoir comment fonction la fonction SUBSTR, mais plutôt de savoir s'il est possible de l'utiliser dans un WHERE et si oui, comment.
Tu dis ne pas voir l'utilité de mon SUBSTR, mais comment veux-tu retrouver les com correspondant à mon login (de 5 chiffres et commençant par 33) sans utiliser cette fonction??
J'ai trouvé cette fonction et j'ai pensé qu'elle pouvait correspondre à mon besoin, maintenant il y a peut être d'autres solutions et qu'effectivement cette fonction n'est pas adaptée ici...
Je n'ai pas la prétention de tout connaitre du php et mySQL mais et c'est pour ça que j'espère que quelqu'un pourra m'aider à résoudre mon problème!
ludo394
Messages postés
1
Date d'inscription
jeudi 19 janvier 2012
Statut
Membre
Dernière intervention
19 janvier 2012
1
19 janv. 2012 à 18:06
19 janv. 2012 à 18:06
Bonjour,
Est-ce qu'un WHERE CHAMP LIKE '%login%' ne pourrait pas répondre à ta question plus simplement ?
Est-ce qu'un WHERE CHAMP LIKE '%login%' ne pourrait pas répondre à ta question plus simplement ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
epsiloneIB
Messages postés
133
Date d'inscription
mardi 20 mai 2008
Statut
Membre
Dernière intervention
13 septembre 2009
8
23 mai 2008 à 20:00
23 mai 2008 à 20:00
Bonjour,
Je ne vois pas pourquoi tu utilises ce SUBSRT!
Epsilone
Je ne vois pas pourquoi tu utilises ce SUBSRT!
Epsilone
Euh... bah pour ne récupérer que les id_com correspondant à mon login!
Comment veux-tu faire sinon?
La fonction substr permet de ne s'intéresser qu'à une partie de mon id_com et de le comparer avec mon login.
Du moins c'est comme ça que je le vois...
Peut-être que je me trompe sur l'utilisation de cette fonction... Peux-tu développer stp?
Comment veux-tu faire sinon?
La fonction substr permet de ne s'intéresser qu'à une partie de mon id_com et de le comparer avec mon login.
Du moins c'est comme ça que je le vois...
Peut-être que je me trompe sur l'utilisation de cette fonction... Peux-tu développer stp?