[sybase] selection particuliere d'un champ date

selection particuliere d'un champ date [sybase] - Programmation

Marsh Posté le 24-07-2001 à 16:13:00    

Comment peut on bien faire pour selectionner UNIQUEMENT l'année le mois et le jour!
 
ex: j'ai un champ date de type "AAAA-MM-JJ hh-mm-ss"
et je voudrais grâce à la si pratique requête SELECT obtenir "AAAA-MM-JJ"
 
SELECT DISTINCT DATE FROM ... (exec...)
 
DATE
----------
2001-05-01
2001-06-23
2001-07-06
2001-09-15
 
J'ai lut une doc SYBASE, ou ils abordent la question sans montrer réellement la syntaxe (sic!)
 
HELP.

Reply

Marsh Posté le 24-07-2001 à 16:13:00   

Reply

Marsh Posté le 25-07-2001 à 08:43:16    

Salut à toi.
Je suppose que ton champ est du type datetime.
Si tu as inséré uniquement des dates (sans l'heure) - c'est à dire que ton champ datetime te sert à stocker uniquement des dates - , sybase met hh:mm:ss à zéro. Dans ce cas, tu peux utiliser un paramètre ne contenant qu'une date simple, ça va marcher ; sybase mettra aussi hh:mm:ss à zéro dans ton paramètre.
Si tu as des heures & minutes, tu peux :
1. Utiliser un intervalle qui définit ton jour. Ex: tu veux la date du 24-07-2001, tu écris :

Code :
  1. where ma_date > "07-23-2001"
  2.   and ma_date < "07-25-2001"


 
2. Utiliser la fonction convert() qui permet convertir 1 date en chaîne & utiliser un paramètre au bon format de type string :

Code :
  1. /* Le format 112 donne aaaammjj */
  2. where convert(ma_date,112) = "20010724"


 
3. Bricoler au moyen des fonctions date. C.f. les fcts date dans la doc.
 
Pour ma part, j'opterais pour la 1e solution, qui sera je pense beaucoup - gourmande


---------------
di. / www.diredaredare.org - Ailes de la ville
Reply

Marsh Posté le 25-07-2001 à 11:40:53    

Si tu ne veux que YYYY-MM-DD, tu utilises un convert en char(10) avec le bon format, comme l'a dit instantdharma.

Reply

Sujets relatifs:

Leave a Replay

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