Convert dans un where?
Résolu
Dark-091
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Dark-091 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Dark-091 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis présentement en train de faire une requête SQL. Je dois extraire des données de 3 tables différentes. Le problème c'est que dans une table l'année (PERIODE) est sous le format ''Annnn'' comme ''A1011'' pour l'année 2010-2011. C'est dans année budgétaire. Le problème c'est que dans une autre table (DD), j'ai à partir de quand tel ou tel échelle salarial entre en vigueur sous le format traditionnel (aaaammjj). En gros, la comparaison que je voudrais faire, c'est de comparer les deux années.
Quand je tente un Convert (Après avoir fait un SUBSTRING pour obtenir que les chiffres de la première année), j'obtiens une erreur. Est-ce parce que je le fait dans le WHERE et que c'est impossible? Ou est-ce moi qui est fait une erreur en écrivant ''WHERE t3.DD >= CONVERT(numeric,SUBSTRING(t2.PERIODE,2))''
Bon, vous allez me dire que ma condition, si elle fonctionnerait, ne donnerait pas le résultat voulu. Tout à fait d'accord, mais j'ai arrêter le raisonnement là en voyant que j'avais une erreur... Pourtant, si j'ai bien compris, je suis supposé comparé 2 nombres maintenant, donc pourquoi avoir une erreur?
Merci d'avance.
je suis présentement en train de faire une requête SQL. Je dois extraire des données de 3 tables différentes. Le problème c'est que dans une table l'année (PERIODE) est sous le format ''Annnn'' comme ''A1011'' pour l'année 2010-2011. C'est dans année budgétaire. Le problème c'est que dans une autre table (DD), j'ai à partir de quand tel ou tel échelle salarial entre en vigueur sous le format traditionnel (aaaammjj). En gros, la comparaison que je voudrais faire, c'est de comparer les deux années.
Quand je tente un Convert (Après avoir fait un SUBSTRING pour obtenir que les chiffres de la première année), j'obtiens une erreur. Est-ce parce que je le fait dans le WHERE et que c'est impossible? Ou est-ce moi qui est fait une erreur en écrivant ''WHERE t3.DD >= CONVERT(numeric,SUBSTRING(t2.PERIODE,2))''
Bon, vous allez me dire que ma condition, si elle fonctionnerait, ne donnerait pas le résultat voulu. Tout à fait d'accord, mais j'ai arrêter le raisonnement là en voyant que j'avais une erreur... Pourtant, si j'ai bien compris, je suis supposé comparé 2 nombres maintenant, donc pourquoi avoir une erreur?
Merci d'avance.
A voir également:
- Convert dans un where?
- Where is it - Télécharger - Gestion de fichiers
- Movie convert tool - Télécharger - Conversion & Codecs
- Media convert - Télécharger - Conversion & Codecs
- Full convert - Télécharger - Gestion de données
- Youtube convert - Télécharger - Conversion & Codecs
6 réponses
Bonjour,
"une autre table (DD) sous le format traditionnel (aaaammjj)."
C'est un format texte ou numerique dans la structure de la table????
"une autre table (DD) sous le format traditionnel (aaaammjj)."
C'est un format texte ou numerique dans la structure de la table????
Bonjour,
en mysql cela donne:
CONVERT((t3.DD/10000)-2000,signed) pour ex: 10 de 20101212 !!!attention si annee inferieur a 2000!!!
CONVERT(SUBSTRING(t2.periode,2 ,2),signed) pour ex: 10 de A1011 si vous voulez la 1ere annee
Bonne suite
en mysql cela donne:
CONVERT((t3.DD/10000)-2000,signed) pour ex: 10 de 20101212 !!!attention si annee inferieur a 2000!!!
CONVERT(SUBSTRING(t2.periode,2 ,2),signed) pour ex: 10 de A1011 si vous voulez la 1ere annee
Bonne suite
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question