SYBASE: comment convertir une date en un autre format date?

SYBASE: comment convertir une date en un autre format date? - SQL/NoSQL - Programmation

Marsh Posté le 20-07-2005 à 16:08:27    

Bonjour,
 
Mon problème repose sur une date.
 
Je souhaiterai que l'utilisateur saisisse une date normale (Version francaise: "dd/mm/yyyy" ) mais la fonction DateDiff sous SYBASE n'utilise que les dates de format "mm/dd/yyyy".  
 
Comment puis-je convertir ma date saisie en date que ma fonction souhaite?
 
Merci à tous de vos réponses


Message édité par gazou-ATS le 20-07-2005 à 16:22:25
Reply

Marsh Posté le 20-07-2005 à 16:08:27   

Reply

Marsh Posté le 20-07-2005 à 16:23:58    

doit bien y avoir une fonction date_format et un manuel pour SYBASE

Reply

Marsh Posté le 20-07-2005 à 16:46:17    

Je pense qu'il faut utiliser la fonction CONVERT.
 
CONVERT(type, date, indice).
 
Cependant, je n'arrive pas à trouver les bons parametres.
 
Date est la date saisi par l'utilisateur, je suppose.
Type, cela doit etre du genre datetime
Mais l'indice j'en ai aucune idée.
 
Je suis vraiment bloqué sur ces points.

Reply

Marsh Posté le 11-08-2005 à 17:57:59    

gazou-ATS a écrit :

Je pense qu'il faut utiliser la fonction CONVERT.
 
CONVERT(type, date, indice).
 
Cependant, je n'arrive pas à trouver les bons parametres.
 
Date est la date saisi par l'utilisateur, je suppose.
Type, cela doit etre du genre datetime
Mais l'indice j'en ai aucune idée.
 
Je suis vraiment bloqué sur ces points.


 
Salut,
 
Fonction convert ASE 12 :
 
select convert (char(10), "20050517", 103)
Output : 17/05/2005
select convert (char(10), "20050517", 101)
Output : 05/17/2005
 
Fonction datediff ASE 12 :
 
select datediff(day, "20050531", "20050530" )
Output : -1
select datediff(day, "20050530", "20050531" )
Output : 1
 
Il faut que tu t'arranges à récupérer la date saisie selon ton modèle JJ/MM/AAAAA et que tu présente cette chaîne sous la forme AAAAMMJJ.
 
Il faut que tu définisses un masque de saisie afin de récupérer facilement le contenu du champ.
Si défini un format de saisie JJ/MM/AAAA limité à 10 caractères.
Après c'est simple tu concat AAAA+MM+JJ et tu balances ça à ta fonction datediff.
 

Reply

Marsh Posté le 17-08-2005 à 11:34:07    

merci
 
la solution apporté est bien celle que tu viens de me fournir/
 
select convert (char(10), "20050517", 103)  
 
Bonne continuation

Reply

Sujets relatifs:

Leave a Replay

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