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.

Datumsfeld bearbeiten

Empfohlene Antworten

Veröffentlicht

Zuerst mal folgendes, ich hab 2 Date-Spalten, ich möchte jetzt die differenz der beiden datum angezeigt bekommen, also in spalte1 steht 11.05.2008 und in spalte2 steht 14.05.2008, also result will ich dann 3Tage haben, also 3

So jetzt wollt ich mir des mal ausgeben lassen mit:

SELECT

(t1.datum2 - t1.datum1) as Differenz

FROM

tabelle1 t1

Des geht aber net, da kommt "invalid number". Wie kann ich mir des noch ausgeben lassen oder müsst ich mir dann erst ne number-spalte anlegen und das ergebnis der differenz da reinschreiben?

Und dann die 2 komplexere Frage, ich habe Zeitangaben in form von 21D (21 Tage) 3M (3 Monate) 23H ( 23 Stunden) Ich möchte dann in einer spalte nur noch zahlen stehen haben die die stunden angeben, also bei den einträgen mit H müsste nur das H abgeschnitten werden, bei D müsste man *24 rechnen etc. Wie geht des am geschicktesten? Also irgendwie mit regulären ausdrücken oder? Aber ich komm da net weiter, weil ich müsste ja erst mal abfragen sowas wie

where spalte like '%D%' und dann den substring nehmen, damit ich nur die 21 hab und dann mal 24 nehmen, wie pack ich das alles in einen möglichst kompaktes statement?

TO_TIMESTAMP, TO_CHAR und konsorten könnten dir hier helfen.

btw: scheinbar arbeitest häufig mit sehr "dirty workarounds" - DATE in NUMBER und wieder zurück in DATE. das ist grauselich.... ähm suboptimal.

da du hier zuletzt ziemlich viele gleichartigen fragen postest, solltest du dir allenfalls grundlagen zu oracle zulegen; die o'reilly-bücher und OTN (oracle technet) sind gute ausgangsbasis.

s'Amstel

Zuerst mal folgendes, ich hab 2 Date-Spalten, ich möchte jetzt die differenz der beiden datum angezeigt bekommen, also in spalte1 steht 11.05.2008 und in spalte2 steht 14.05.2008, also result will ich dann 3Tage haben, also 3

So jetzt wollt ich mir des mal ausgeben lassen mit:

SELECT

(t1.datum2 - t1.datum1) as Differenz

FROM

tabelle1 t1

Des geht aber net, da kommt "invalid number". Wie kann ich mir des noch ausgeben lassen oder müsst ich mir dann erst ne number-spalte anlegen und das ergebnis der differenz da reinschreiben?

- Hmmm, bei mir geht es...Welches Format haben den deine "Date"-Spalten ?

Das Format is Date

Geht bei mir...

Guckst du :


SQL*Plus: Release 10.2.0.2.0 - Production on Thu May 8 12:55:47 2008


Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.


Enter password:


Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options


SQL> CREATE TABLE testtable

        (ID                             NUMBER,

        datum                          DATE,

        datum_2                        DATE)

 /


Table created.


SQL> INSERT INTO testtable

         VALUES (1, '01-JAN-2008', '04-JAN-2008')

    /


1 row created.


SQL> SELECT (t.datum_2 - t.datum) AS differeenz

      FROM testtable t

    /


DIFFEREENZ

----------

         3


SQL>

Gruss

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.