Comment convertir une Date en temps en Date à l'aide de Netezza
Je suis en train de faire quelques calculs mais mon calcul est éteint parce que mon champ date est de montrer l'horodatage et je veux seulement utiliser comme Date seulement quand je fais le calcul. Comment puis-je ignorer le procès-verbal et il suffit d'utiliser la date quand on fait le calcul? Voici ce que j'ai:
SELECT EF.DSCH_TS,
CASE WHEN EXTRACT (DAY FROM EF.DSCH_TS - EF.ADMT_TS)>=0 THEN 'GroupA' END AS CAL
FROM MainTable EF;
OriginalL'auteur moe | 2014-01-27
Vous devez vous connecter pour publier un commentaire.
Vous pourriez envisager de réécrire votre instruction du cas de retour d'un intervalle de. Cela permettra un peu plus de souplesse.
OriginalL'auteur Niederee
Netezza a intégré la fonction de ce en utilisant simplement:
Ce sera de retour juste la partie date de la timetamp et beaucoup plus utile que le moulage d'une chaîne avec
TO_CHAR()
parce qu'il va travailler dansGROUP BY
,HAVING
, et avec d'autres netezza les fonctions de date. (Où, comme leTO_CHAR
méthode ne sera pas)Aussi, le
DATE_TRUNC()
fonction va tirer une valeur spécifique de l'Horodatage ('Jour', 'Mois 'Année', etc..) mais pas plus d'un de ces sans de multiples fonctions et de les concaténer.DATE() est le parfait et simple réponse à cela et je suis surpris de voir autant trompeuse réponses à cette question sur le Tapis. Je vois
TO_DATE
beaucoup, ce qui est Oracle est la fonction de ce mais ne fonctionne pas surNetezza
.Avec votre requête, en supposant que vous êtes intéressé dans les jours de minuit à minuit, les deux horodateurs, il ressemblerait à quelque chose comme ceci:
OriginalL'auteur thagraybush
Utilisation
date_trunc()
avec le premier argument de'day'
. Je pense que c'est ce que vous voulez:J'ai laissé le premier argument de l'appel de la deuxième.
Merci Gordon, qui a fonctionné mais je suis un peu peu confus au sujet de cette fonction. Comment pourrais-je le modifier si je veux que ma condition d'être comme ceci: où EF.DSCH_TS > 6? parce que je veux tester si le nombre de jours est supérieur à 0 ou 1, 2,3, etc donc, j'ai beaucoup de cas, la déclaration que je ne suis pas le montrer ici. merci pour la clarification...
Je pense que vous mettez le
date_trunc()
appels dans leextract(day from . . .)
.comment vous le faire pouvez vous s'il vous plaît me montrer parce que je ne suis pas en mesure d'obtenir ce droit. merci
OriginalL'auteur Gordon Linoff