Convertir un Varchar en int avec le SQL

Convertir un Varchar en int avec le SQL - SQL/NoSQL - Programmation

Marsh Posté le 31-01-2013 à 10:40:06    

Bonjours à tous !
 
Eh bien que dire d'autre le titre ? Bon voilà, mon problème je ne peut utiliser que le langage SQL afin de récupérer 2 champs, un champs date mais enregistrer en tant que Varchar(ex : maDate ), et un autre champs sous forme d'entier(ex : monChiffre). Je doit découper ma première chaine de caractère afin de récupérer uniquement l'année.
J'utilise donc :
 

Code :
  1. SUBSTR(maDate,1,4)


 
Pas de problème la dessus j'obtiens l'année. Sauf que je doit ajouter le champs monChiffre( qui est sous forme d'entier) à l'année que j'ai obtenue. Il est donc nécessaire que je convertisse cette année qui est sous format varchar en format d'un entier. Mais pour compliquer la chose j'utilise un logiciel qui transformera la requête en .wdr afin de crée un etat en .wde , et comme de par hasard le logiciel ne connais pas les fonction SQL : - CONVERT()
                                                                                                                                                           - CAST()
                                                                                                                                                           - VAL()
 
Donc impossible pour moi de faire mon calcule sans une autre fonction de conversion, à moins que quelqu'un connaisse une autre fonction qui pourrais convertir ou encore si quelqu'un aurai une toute autre idée de procéder ?
 
Je vous remercie par avance de votre aide,
 
Thornac

Reply

Marsh Posté le 31-01-2013 à 10:40:06   

Reply

Marsh Posté le 31-01-2013 à 10:56:33    

perso j'utilise le  DATEADD(year,2,GETDATE()) en SQL  
 
en gros là j'ajoute 2 ans a la date actuelle  
en espérant que ça marche


---------------
[Ach] Just dance + cam PS4
Reply

Marsh Posté le 31-01-2013 à 11:44:02    

Hum merci de ta réponse qui a été très rapide :D
 
Mais dans ton cas n'utilisais tu pas cette fonction sur un format date ?

Reply

Marsh Posté le 31-01-2013 à 12:36:32    

si mais tu passes madate et ensuite tu fais ton substr
ou tu peux tenter un year(madate)


---------------
[Ach] Just dance + cam PS4
Reply

Marsh Posté le 31-01-2013 à 16:32:48    

Je ne comprend pas ta deuxième réponse  que veux tu dire par "si tu passes madate et ensuite tu fais ton substr" manque des mots dans ta phrase non ?

Reply

Marsh Posté le 01-02-2013 à 09:17:11    

je pensais que Madate est une variable de type date
 
maintenant je me rends compte de mon erreur  
un truc qui marche select '2012'  + 2  
je mets '2012' pour dire que c'est une chaine et 2 c'est ton chiffre a ajouter ça marche sous SQL
 
ya une conversion implicite sous SQL a voir si ça marche dans ton cas


Message édité par boomy29 le 01-02-2013 à 10:32:03

---------------
[Ach] Just dance + cam PS4
Reply

Marsh Posté le 01-02-2013 à 09:57:35    

Comme c'est un champs je peux mettre :
 
SELECT maDate + monChiffre
FROM maTable
 
?

Reply

Marsh Posté le 01-02-2013 à 10:25:35    

tu peux tenter oui  
SELECT SUBSTR(maDate,1,4) + monChiffre
FROM maTable


---------------
[Ach] Just dance + cam PS4
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed