J'essaie de travailler avec des horodatages et de manipuler les données d'entre eux afin que je puisse mesurer différentes choses dans notre base de données.
J'ai actuellement une colonne qui contient une "date" mais contient en fait un timbre entier "DD / Mm / aaaa HH24: MI: ss ' p>
Je veux pouvoir saisir toutes les entrées où "DTNE" entre "09:00" et "09:15" n'ont pas été en mesure de le jeter Correctement. P>
Si je devais sortir la colonne sans une conversion, cela ressemblerait à ce p> sortie: 24 / Jan / 19 P> Si je devais le convertir en _char, p> sortie: 24/01/2019 07:10:52 p> Je veux pouvoir pouvoir être capable Prendre ce DTNE3 et trouver des entrées entre Times mais moulée et convertir en temps ne fonctionne pas. p> Ceci est mon option de travail, mais elle génère la date toujours et je ne veux pas avoir à spécifier la date afin de pouvoir spécifier la date. Soyez coulé à n'importe quel jour de la semaine. p> sortie: 24/01/2019 09:00:01 P> p>
3 Réponses :
Actuellement, j'ai une colonne qui contient une "date" mais contient en fait un timbre entier 'jj / mm / yyyy HH24: MI: SS' P>
C'est ce que Oracle
Date Code> DataType
fait: stocker une date et l'heure em> (sans fraction secondaire, qui appartiennent aux fichiers de données code> horodatapes code>. Il n'y a pas de format spécifique à Oracle pour la date de la date (sans temps). P>Pour filtrer à l'heure de la journée, vous pouvez utiliser Le
to_char () code> fonction
Pour convertir votre date à une chaîne qui représente son temps et que Vous pouvez comparer: p>xxx pré> Vous pouvez également
couler code> la date à un horodatage et utilisez L'extrait
() code> fonction
: p>xxx pré> blockQuote>
oracle a à la place, utilisez date code> et
horodatamp code> Types de données; Les deux ont tous les deux année, jour, jour, heure, minute, deuxième composants (
horodatage code> a également des secondes fractionnaires). Oracle n'a pas de type code> type de code>.
trunc () code> pour tronquer le composant TIME à minuit et ajouter un littéral d'intervalle: P> < Pré> xxx pré> p>
Merci pour la réponse, je vais essayer cette méthode et voir ce qui se passe.
Je saisis un moyen d'accéder à l'heure des données si je voulais vérifier si une "heure de début" et "TIME TIME" est tombée entre "09h00" et "09:15" Comment puis-je faire cela.
@DavidZammit vient de remplacer DTNE code> avec
start_time code>, puis ajoutez un duplicata
entre code> clause pour
end_time code>.
and ia.DTIME1 not between to_date('&&S_DATE 08:50:00', 'DD/MM/YYYY HH24:MI:SS') and to_date('&&S_DATE 09:20:00', 'DD/MM/YYYY HH24:MI:SS') and ia.DTIME1 not between to_date('&&S_DATE 11:50:00', 'DD/MM/YYYY HH24:MI:SS') and to_date('&&S_DATE 12:40:00', 'DD/MM/YYYY HH24:MI:SS') and ia.DTIME3 not between to_date('&&S_DATE 08:50:00', 'DD/MM/YYYY HH24:MI:SS') and to_date('&&S_DATE 09:20:00', 'DD/MM/YYYY HH24:MI:SS') and ia.DTIME3 not between to_date('&&S_DATE 11:50:00', 'DD/MM/YYYY HH24:MI:SS') and to_date('&&S_DATE 12:40:00', 'DD/MM/YYYY HH24:MI:SS') i was trying to do this way however i noticed if i have a start time of 08:30 and a finish time of 09:30 then it falls between 09:00 and 09:15 so i want to exclude it from the table. the current WHERE clause im using is quite specific and will only exclude if the timestamp contains the values specified.Really it would want to read "DTIME1 to DTIME3 not between 09:00 and 09:15"
Il suffit de revenir au où code> clause, je vous ai fourni:
où non (extrait (heure d'ia.dtime3) = 9 et extrait (minute d'ia.dtime3) <15) code>. PS: Cette réponse de votre part aurait dû être affichée comme édition de votre question ou un commentaire sur d'autres réponses.
Merci pour vos commentaires, je vais jeter un coup d'œil et voir comment cela fonctionne.
entre code> est inclusif; Voulez-vous vraiment inclure exactement 09:15:00 ou seulement jusqu'à 09: 14: 59.999 ...? Ce dernier semble plus probable - et c'est ce que la deuxième approche de GMB avec
extrait code> fera, à cause du
<< / code>.