comment insérer la date du jour dans un champ de DATE en jj/mm/aaaa dans oracle
J'ai un champ dans ma table avec le type de données que la DATE dans Oracle.
Je veux insérer la date actuelle dans ce domaine, dans le format JJ/MM/AAAA.
J'ai essayé la requête ci-dessous:
select to_date(to_char(sysdate,'dd/mm/yyyy'),'dd/mm/yyyy') from dual
Mais il donne
1/8/2011 12:00:00 AM.
Je veux insérer et de montrer que
08/01/2011 12:00:00 AM.
Quelqu'un peut m'aider dans cette s'il vous plaît ?
- Présentation d'une date a de nombreux formats; l'obligation spécifique qui n'est pas la valeur par défaut est mieux traitées au dernier moment, la date est retourné à partir de la base de données, ou dans la couche de présentation.
InformationsquelleAutor cherit | 2011-01-08
Vous devez vous connecter pour publier un commentaire.
DATE
est un type Oracle, qui est représenté d'une manière fixe et vous n'avez aucun contrôle sur elle.Donc:
Ci-dessus est absurde. Vous n'avez pas d'insérer une chaîne, vous devez insérer une date.
Format est utile seulement quand vous le voulez:
TO_DATE
(masque de format: comment analyser la chaîne);TO_CHAR
(masque de format: la façon d'afficher la date du jour).Donc, fondamentalement, dans votre exemple, vous prenez un JOUR, vous convertir en une CHAÎNE avec un certain format, et de la convertir à JOUR avec le même format. C'est un no-op.
Maintenant, ce que votre client s'affiche: c'est parce que votre Client Oracle de ne pas afficher les champs de DATE, directement et le NLS d'une couche de convertir n'importe quel champ de DATE qui est sélectionné. Donc, cela dépend de vos paramètres régionaux par défaut.
Ce que vous voulez est
SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual;
qui sera explicitement effectuer la conversion et le retour d'une chaîne.Et quand vous voulez insérer une date dans une base de données, vous pouvez utiliser
TO_DATE
ou la date de littéraux.Sinon, si vous voulez récupérer une partie de la date de la DATE de champ, vous pouvez utiliser truncate, c'est à dire
TRUNC
est inutile si vous êtes à la mise en forme de la date, sans le temps de la partie.Lorsque la colonne est de type DATE, vous pouvez utiliser quelque chose comme:
Cela supprime le temps de la partie de SYSDATE.
Peut-être cela peut vous aider