Bonjour;
Dans mes SP je dois récupérer une partie d'un champs integer pour déduire le mois de calcul.
j'aimerais savoir si il ya une fonction comme substring pour les Integer.
merci d'avance
Version imprimable
Bonjour;
Dans mes SP je dois récupérer une partie d'un champs integer pour déduire le mois de calcul.
j'aimerais savoir si il ya une fonction comme substring pour les Integer.
merci d'avance
Soit tu CAST ton integer en varchar puis tu utilises SUBSTRING soit tu joue avec des calcul
ex 1011 avec 11=mois
tu peux faire 1011 modulo 1000...
Mais tout cela ressemble à du bricolage?
Quelle est la modélisation de la table?
Bonjour,
Moi j'aurai mis un point simple à la fin :)Citation:
Mais tout cela ressemble à du bricolage?
Quelle modélisation ?Citation:
Quelle est la modélisation de la table?
Encore une fois c'est un problème de choix des types de données : pourquoi diantre faut-il que des gens s'acharnent (si, c'est de l'acharnement) à stocker des "dates" dans une colonne de type chaîne de caractères ou entier ...Citation:
integer pour déduire le mois de calcul.
Créez une table de dates !
@++ ;)
j'ai utilisé le % ça marche merci bcp
Résultat :Citation:
Encore une fois c'est un problème de choix des types de données : pourquoi diantre faut-il que des gens s'acharnent (si, c'est de l'acharnement) à stocker des "dates" dans une colonne de type chaîne de caractères ou entier ...
Créez une table de dates !
Bon ben tant pis :aie:Citation:
j'ai utilisé le % ça marche merci bcp
Je trouve que vous êtes d'un naturel optimiste!Citation:
à stocker des "dates" dans une colonne de type chaîne de caractères ou entier ...
Xavier81 n'a pas précisé que la colonne herbergeait (candestinement surement)des dates sous forme d'entier.
Je pense a quelque chose de bien pire par exemple 21368212122011
avec 213 leresultat du calcul 682 l'ID du USER qui a fait le calcul et à la fin la 'date' :mouarf:
effectivement j'ai une colone qui regroupe le mois et l'année:
201001 par exemple
donc je voulais extraire seulement le mois pour faire une comparaison dans une clause where.
quote=aieeeuuuuu;5835503]Toujours dans la catégorie Leroy Merlin :
[/quote]Code:
1
2 DECLARE @n AS INT = 201103 SELECT RIGHT(@n, 2) AS Mois
Attention cependant car RIGHT retourne un VARCHAR.
Mais pour le transtyper simplement on peut faire comme ceci :mouarf: :
Code:
1
2
3
4
5
6
7 DECLARE @n AS INT set @n = 201103 SELECT RIGHT(@n, 2) + 0 AS Mois Mois ----------- 3