Jump to content

Hilfe bei SQL Statement (Date)


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Guten Morgen Community!

 

Mein Name ist Rene und ich bin Clientmanager in einem größeren Unternehmen. Ich versuche gerade eine Abfrage zu schreiben, welche mir einen Datum-wert vergleicht.

 

Hierfür hole ich mir einen Wert aus der Windows Registry "Last Windows Update" und übergebe diesen in die gleichlautende Variable.

 

Mit dieser Variable arbeite ich jetzt weiter und vergleiche diesen Wert mit einem von mir vorgegebenen Datum (jjjj-mm-dd), das Statement sieht wie folgt aus:

SELECT * from machine
WHERE  
(
  ( ( SELECT vars.value FROM vars WHERE vars.guid_link = machine.guid AND ( vars.name = 'Last Windows Update' AND vars.scope = '__MACHINE__' AND vars.category = 'Info') ) < '2015-12-25')
)

Das ist aber insofern unpraktisch, da ich hier das Datum immer händisch pflegen muss. Wie könnte ich den zweiten select Befehl definieren, dass das Datum der Variable "Last Windows Update" mit dem Wert 36 --also älter als 36 Tage-- überprüft wird?

Ich hoffe mein Wunsch ist verständlich!

Grüße, Rene

bearbeitet von Dissektion
Link zu diesem Kommentar

Hi!

 

Also ich muss gestehen, dass ich auf dem Gebiet ziemlicher Leihe bin. Ich komm mit deinem Vorschlag deshalb schon nicht weiter, weil ich diesen Datumwert ja aus der Variable hole und jetzt nicht weiß, wie ich weiter damit arbeiten kann.

 

Dazu muss ich noch sagen, dass ich mir diese Abfrage nicht selber einfallen habe lassen, sondern sie mir mithilfe unserer Clientmanagementsoftware (Baramundi) zusammengeklickt habe  :D

 

Deshalb bräuchte ich hier noch einen Funken (Verstand) um das Feuer entzünden zu können  :rolleyes:

 

Grüße, Rene

bearbeitet von Dissektion
Link zu diesem Kommentar

Ich werde aus dem Subselect nicht schlau.

Eine Where-Bedingung muss aus dem gegebenen Result-Set (Select * from machine) etwas filtern. Dazu muss man eine Filterbedingung setzen. Die finde ich aber nicht.

 

Richtig wäre z.B.:  

 

Where

machine.irgendwas in (select irgendwas.irgendwas from ... where...)

 

Wobei man sich das Subselect u.U. auch sparen kann. Wir wissen ja nicht genau, was gefiltert werden soll.

Link zu diesem Kommentar

Ich kann nur versuchen es verständlicher zu machen.

 

Ein Script liest mir das Datum aus der Registry aus und übergibt diesen Wert (jjjj-mm-dd) an eine Variable die den Typ Date besitzt.

 

In der geposteten Abfrage wird im Prinzip nur der Wert aus der Variable gelesen

SELECT vars.value FROM vars WHERE vars.guid_link = machine.guid AND ( vars.name = 'Last Windows Update' AND vars.scope = '__MACHINE__' AND vars.category = 'Info'

Ich weiß ja nicht, ob dieses SQL Statement überhaupt weiß, ob der vars.value vom Typ Date ist? Allerdings vergleiche ich den Wert ja erfolgreich mit

< 'jjjj-mm-dd'
bearbeitet von Dissektion
Link zu diesem Kommentar

 

Ich kann nur versuchen es verständlicher zu machen.

 

Ein Script liest mir das Datum aus der Registry aus und übergibt diesen Wert (jjjj-mm-dd) an eine Variable die den Typ Date besitzt.

 

In der geposteten Abfrage wird im Prinzip nur der Wert aus der Variable gelesen

SELECT vars.value FROM vars WHERE vars.guid_link = machine.guid AND ( vars.name = 'Last Windows Update' AND vars.scope = '__MACHINE__' AND vars.category = 'Info'

Ich weiß ja nicht, ob dieses SQL Statement überhaupt weiß, ob der vars.value vom Typ Date ist? Allerdings vergleiche ich den Wert ja erfolgreich mit

< 'jjjj-mm-dd'

 

Es wäre vermutlich zielführender für dich, du sprichst den Hersteller des Systems, als Baramundi selbst an. Die können dir sicherlich viel schneller helfen und wissen was ihre Datenbank da genau haben möchte.

Link zu diesem Kommentar

Hallo!

 

@Sunny

Da hab ich schon ein Ticket offen, allerdings ist dort wegen Krankheit nicht so schnell mit einer Lösung zu rechnen. Ich dachte, dass das nicht so die Hexerei sein kann. Unsere DBAs haben auch keine Zeit für mich, wollen, dass ich einen Termin vereinbare  :cry:

 

@Lian

Die Variable in der der Wert übergeben wird ist vom Typ Date, siehe Screenshot

 

@zahni

Ich guck mir das mal an, wie aber bereits gesagt, sind meine Kenntnisse nicht überragend.

 

Grüße, Rene

post-71523-0-57405300-1454497815_thumb.png

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...