Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Ich habe mal Fragen zum Datentyp DATE in Oracle:

Der Datentyp DATE speichert in Oracle sowohl Datums als auch Zeitwerte. Nun habe ich einzelne Spalten, wo ich nur das Datum im Format XX.XX.JJJJ benötige, dann habe ich aber auch wieder Spalten, wo dasFormat wie folgt aussehen kann: X/X/JJJJ oder XX/XX/JJJ oder XX/X/JJJ.

Kann ich das in Oracle vorher sozusagen als "Standard" festlegen, wie das Format des Datentyps aussehen soll?

Ich habe mal Fragen zum Datentyp DATE in Oracle:

Der Datentyp DATE speichert in Oracle sowohl Datums als auch Zeitwerte. Nun habe ich einzelne Spalten, wo ich nur das Datum im Format XX.XX.JJJJ benötige, dann habe ich aber auch wieder Spalten, wo dasFormat wie folgt aussehen kann: X/X/JJJJ oder XX/XX/JJJ oder XX/X/JJJ.

Kann ich das in Oracle vorher sozusagen als "Standard" festlegen, wie das Format des Datentyps aussehen soll?

Hallo,

Warum solltest du das tun ? Oracle speichert einen Zeitpunkt, bestehend aus Datum und Zeitanteil. Was du möchtest, ist eine Formatierung für die Ausgabe, das kannst du immer mit der entsprechenden Formatanweisung erreichen.

Gruss

Wie die Sachen in der Datenbank gespeichert sind ist total egal. Date ist für Oracle ein Date. Wie dir die Felder dargestellt werden ist die andere Sache. Schau dir da mal den Parameter NLS_DATE_FORMAT an. Wenn du wirklich unterschiedliche Darstellungen in der Datenbanken selber willst bleibt dir wohl nur ein VARCHAR oder CHAR. Das wäre aber totaler Murks.

Hi,

dann kannst Du Deinem Kollegen ausrichten, dass Oracle zur Speicherung einen 7-Byte langen internen Binärwert verwenden (wie übrigends andere Datenbanken auch).

In diesem Punkt lässt Oracle auch nicht mit sich diskutieren.

Alternativ kannst Du natürlich das Datum auch aus varchar2 speichern, verlierst damit aber die komplette Datumsarithmetik. Daher wäre eine solche Lösung eher suboptimal um nicht zu sagen dumm.

Dim

  • Autor

Mein Kollege meinte darauf, dass dann halt ein benutzerdefinierter (eigener) Datentyp hierfür erforderlich ist. Wie muss ich so einen benutzerdefinierten Datenypen generieren? Habe für diesen Bereich keinerlei Erfahrungen.

Wenn du einen eigenen Datentypen erzeugen möchtest, musst Du einen Objekttyp definieren. Dann müssen aber auch die ganzen DML Statements angepasst werden. Und mit einer einfachen Anzeige ist es dann auch nicht mehr getan. Sprich -> Blödsinn

Hau deinem Kollegen eine runter damit er aufwacht (hat wohl das WE noch nicht ganz verdaut :D), dann legt ihr die DATE Spalte an und formatiert sie mit TO_CHAR so wie ihr sie braucht.

Ihr könnt auch eine VIEW definieren, die die korrekten Formtierungsangaben schon in der Definition beinhaltet. Dann hat jeder, der über die View selektiert ohne weiteres zutun die richtige Anzeige.

Dim

Bearbeitet von dr.dimitri

@ dbwizard

Mein Kollege möchte aber, dass diese Werte auch so in der Datenbank gespeichert werden. In diesem Punkt lässt er auch nicht mit sich diskutieren.

- Nun, dann muss dein Kollege mit Oracle streiten. Ein Date ist....ein Date. Punkt. Interessant wäre noch zu erfahren, aus welchen Grund dein Kollege dies so haben will ?

Gruss

*G*. Kenne so einen Stuss. Wie ich das liebe... :D

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.