Seulement le jour et le mois à partir d'un champ de date
J'ai un ensemble de dates dans le format JJ-MMM-AAAA. J'ai besoin d'être en mesure de comparer des dates en utilisant uniquement le DD-MMM partie de la date, depuis l'année n'est pas l'important.
Comment pourrais-je y parvenir?
J'ai essayé de lire sur la fonction DATEPART (edit: ce qui évidemment ne fonctionne pas) mais je ne peut théoriquement obtenir que le retour soit le DD ou le MMM pièces, pas les deux à la fois.
Edit: ajout de l'oracle de la balise. Désolé.
Exemple de champ de date: 01-MAR-1994
Oracle, MSSQL, MySQL? Quelle est la type de données de la colonne?
Je pense que DATEPART est pour MS SQL Server.
L'utilisation d'oracle. Ce que je voulais dire par "aide" j'ai essayé de le comprendre. Désolé de ne pas préciser. Le type de données de la colonne est de type Date.
Vous êtes à la recherche de quelque chose comme
Je pense que DATEPART est pour MS SQL Server.
L'utilisation d'oracle. Ce que je voulais dire par "aide" j'ai essayé de le comprendre. Désolé de ne pas préciser. Le type de données de la colonne est de type Date.
Vous êtes à la recherche de quelque chose comme
Extract
la fonction docs.oracle.com/cd/B28359_01/server.111/b28286/functions052.htm ?OriginalL'auteur rakeshisu | 2013-09-17
Vous devez vous connecter pour publier un commentaire.
Si votre colonne est de type
DATE
il n'a pas un format.Si je vous comprends bien, vous voulez afficher la
mon-dd
partie seulement, donc vous devez le convertir avecTO_CHAR
fonctionc'est à dire:
Non... c'est une chaîne de maintenant pas une date. Peut-être vous avez besoin d'un format différent, quelque chose comme
select to_char(your_date_column, mmdd
) (rappelez-vous la date n'a pas un format, c'est un nombre représentant la date)Ah ok, je vois. Donc, lorsque vous utilisez la fonction to_char, ce qui spécifie le type de données qui seront retournés, ou est-il toujours retourner une chaîne de caractères?
Toujours une chaîne de caractères (comme il est appelé char)
OriginalL'auteur A.B.Cade
Convertir vos dates en utilisant le format suivant, il sera seulement le mois et la date. Vous devez remplacer getdate() avec vous les champs de date.:
OriginalL'auteur Sonam
En supposant que vous utilisez SQL Server ou Oracle depuis que vous avez tenté à l'aide de DATEPART, vous pouvez juste obtenir le jour et le mois à l'aide de la
DAY()
etMONTH()
fonctions. En supposant que, de nouveau, que les dates de la comparaison sont dans deux tables différentes, il devrait ressembler à ceci:EDIT: Si vous êtes simplement en comparant les lignes dans le même tableau, vous avez seulement besoin d'un très simple requête.
SQLFiddle
Pour ce faire, vous avez juste besoin de faire une sous-requête qui récupère le max de la date, puis sélectionnez dans 'mm-dd' format de votre instruction select externe à l'aide de
TO_CHAR
.OriginalL'auteur Tricky12
Vous pouvez également combiner le mois et le jour dans un entier:
Il est alors plus facile de les trier et de les comparer.
OriginalL'auteur dnoeth
Cela devrait faire l'affaire
OriginalL'auteur FA LE TI NO
SÉLECTIONNEZ à GAUCHE(REMPLACER(CONVERT(varchar(10),GETDATE()-1,3),'/',"),4)
Serait-ce de travailler pour vous?
OriginalL'auteur Manus
select FORMAT(yourcoulmn_name, 'dd/MM') from table
OriginalL'auteur user10324992