Announcement

Collapse
No announcement yet.

Attribut auf Null bzw. ' ' setzen wenn Bedingung zutrifft.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Attribut auf Null bzw. ' ' setzen wenn Bedingung zutrifft.

    Hallo zusammen,

    bin neu in der DB Welt und bräuchte eure Hilfe.

    Ich habe eine View auf einer Tabelle. Diese View hat 5 Attribute. ID, Name, ErstelltDatum, GeaendertDatum, Kennzeichen.

    Nun will ich im SQL der View den Wert Kennzeichen auf Null oder Blank setzen, ist eigentlich egal, sobald das GeandertDatum > dem ErstelltDatum ist. CASE? WITH?

    CREATE OR REPLACE VIEW Daten AS
    SELECT
    ID,
    Name,
    ErstelltDatum,
    GeaendertDatum, /*auf Null setzen sobald größer als ErstelltDatum*/
    Kennzeichen
    FROM Tabelle_Test;

    Habt ihr für mich einen Ansatz?

    Vielen Dank im voraus. Gruß.

  • #2
    Attribut auf Null bzw. ' ' setzen wenn Bedingung zutrifft.

    Danke habs dann doch hinbekommen.

    CREATE OR REPLACE VIEW Daten AS
    SELECT
    ID,
    Name,
    ErstelltDatum,
    (case when to_char(GeaendertDatum) > to_char(ErstelltDatum) then NULL else GeaendertDatum end) AS GeaendertDatum,
    /*auf Null setzen sobald größer als ErstelltDatum*/
    Kennzeichen
    FROM Tabelle_Test;

    Comment


    • #3
      Das to_char ist aber falsch. Damit wandelst Du das Datum in einen String um. Das allein ist schon nicht notwendig, noch schlimmer ist, dass ohne Formatierungsangabe der String abhängig von den NLS Einstellungen des Clients ist, der darauf zugreift. Kurz gesagt das Ergebnis mag bei einigen Werten korrekt sein, bei anderen wiederum nicht. Einfach to_char weglassen.

      Dim
      Zuletzt editiert von dimitri; 03.10.2011, 13:08.
      Zitat Tom Kyte:
      I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

      Comment


      • #4
        Attribut auf Null bzw. ' ' setzen wenn Bedingung zutrifft.

        Hallo,

        danke dir für den Hinweis werde es gleich bei mir abändern.

        Gruß

        Comment

        Working...
        X