LesezeichenAbonnierenRSS-Feed abonnieren
Fay123
Obsidian | Level 7

Ich sitze jetzt schon seit Stunden erfolglos vor dem Problem ...

 

Ich habe Datumsfelder, die als Datetime vorliegen und möchte jetzt ein Datum abfragen. Mein Versuch mit "where Stichtag = 31AUG2015:00:00:00" war nicht wirklich erfolgreich und eigentlich würde ich auch lieber nur mit 31Aug15 abfragen. Funktioniert das irgendwie?

Dankeschön im voraus!

5 ANTWORTEN 5
CHoens
Calcite | Level 5
Wie wär´s denn mit
wher Stichtag = "31AUG2015"d
?

Also String mit Datumsmarkierung.
Sven_
Fluorite | Level 6

Vielleicht funktioniert so was wie:

 

 

where Stichtag like '31AUG15%';

 

In SAS liegt das Datum aber im Kern als Zahl, berechnet ab dem 01.01.1960, vor. Vielleicht dann besser umrechnen bzw. formatieren.

mariusg
Obsidian | Level 7

where datepart(Stichtag) = "31AUG2015"d

 

Viele Grüße

Marius

Fay123
Obsidian | Level 7

wie blöd kann man sein .... Vielen Dank allen

FreelanceReinh
Jade | Level 19

Prima, schon gelöst.

 

 

Für eventuelle spätere Leser: Die entscheidende Frage ist, ob es sich bei den "Datumsfeldern" um numerische Variablen handelt, die SAS-Datetime-Werte enthalten (Zahlen wie etwa 1768228898), oder um Character-Variablen, in denen Strings der Form "31AUG2015:00:00:00" gespeichert sind. Auf erstere lässt sich die DATEPART-Funktion anwenden, um das Datum (als SAS-Datumswert) zu extrahieren, wie von @mariusg vorgeschlagen (auch '31Aug15'd wäre auf der rechten Seite zulässig), für letztere eignen sich dagegen nur Character-Funktionen bzw. -Operatoren wie LIKE (Vorschlag von @Sven_) oder auch =:, wobei dann auf Feinheiten wie Groß-/Kleinschreibung oder 2- bzw. 4-stellige Jahresangabe zu achten ist. Alternativ lassen sich die beiden Arten von Werten per PUT- bzw. INPUT-Funktion (mit Datetime-Format bzw. -Informat) ineinander umrechnen und dann entsprechend anders abfragen.

 

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

Diskussionsstatistiken
  • 5 Antworten
  • 4236 Aufrufe
  • 5 Kudos
  • 5 in Unterhaltung