0
votes

Obtenez 9 heures de jour en cours à Oracle

Quelqu'un peut-il me dire comment obtenir 9m strong> de la journée actuelle forte> à Oracle?

Dans SQL Server, je ferais ce qui suit: P>

SELECT DATEADD(day, DATEDIFF(day, 0, GETDATE()), '09:00:00')


0 commentaires

3 Réponses :


3
votes

Prenez juste la journée actuelle à minuit et ajoutez neuf heures

trunc(sysdate) + interval '9' hour


0 commentaires

2
votes
select trunc(sysdate) +9/24 from dual;

1 commentaires

Merci, à la fin je suis allé avec> Trunc (Sysdate) + (9/24)



-1
votes

Essayez d'obtenir 9 heures de la journée actuelle en oracle en utilisant les éléments suivants: xxx


5 commentaires

Cela retournera une chaîne '09am' ou '09pm' selon que la requête est exécutée respectivement le matin ou l'après-midi ( db <> violon ). La question est après une date date (ou horodatage ) Type de données du jour en cours à 09h00.


Merci pour vos informations aimables. Sélectionnez TO_CHAR (Trunc (Sysdate + 1) + 9/24, 'HH') || 'Suis' comme "Jour en cours de 9h" de Dual;


Qui retourne toujours une chaîne et non une date et si vous allez faire cela, vous pouvez également simplement utiliser un littéral de chaîne comme Sélectionnez «9h» comme «Jour en cours de 9h» de Dual; plutôt que Obfuscant ce que vous faites et essayez d'adapter un appel à sysdate là qui indique que vous utilisez des dates lorsque vous générez une chaîne fixe.


Eh bien, je pense que seul le retour sera le format de date, pas 9 heures. Exemple: Sélectionnez l'extrait (heure de la moulage (sysdate sous forme d'horodatage)) comme "format de date", to_char (sysdate, "hh12 am") "chaîne de date", to_char (sysdate, "hh24 am") "Date 24h de chaîne", to_date (TO_CHAR (Trunc (Sysdate + 1) + 9/24, 'HH'), "HH") comme "Format de date 24HR", TO_Date (TO_CHAR (Sysdate, 'FMHH'), "HH") "Format de date 12HR" De double;


Trunc (sysdate + 1) + 9/24 donnera 09:00 demain et enveloppez que dans TO_CHAR (DateValue, 'HH') retournera toujours la chaîne '09' Comme l'heure sera toujours 9 - cette valeur de retour n'est pas une date Type de données Il s'agit d'une chaîne et il s'agira d'une valeur constante de la valeur Sysdate entrée prend. '09 '|| 'AM' est simplement concaté à deux chaînes et il entraînera toujours '09am' , qui est à nouveau une chaîne et non une date de date type de données . Votre réponse ne fait pas comme prévu et le point que vous essayez de faire dans le commentaire précédent semble être confus et peu clair.