Forum - Beitrag anzeigen

Datenbanken/SQL - Re: Heute minus x Tage abrufen?

Icon Pfeil Startseite Icon Pfeil Kategorie Icon Pfeil Suche

Icon Forum Beitrag vom 22.08.2007 11:08 (1049 Aufrufe)
Name: nightowl
Titel: Re: Heute minus x Tage abrufen?
Inhalt: Auch wenn das Problem bereits hinreichend gelöst wurde, hier noch eine weitere Oracle-Variante...

SELECT * FROM [tabelle]
WHERE [feld] = trunc(sysdate) - x

Wird trunc() auf SYSDATE angewendet, so wird der Zeitteil angeschnitten und man bezieht sich nur auf das Datum. Somit kann das > bzw. < entfallen.

Wird im [feld] nicht nur das Datum, sondern auch die Zeit mitgespeichert, muß auch hier ein trunc() angewendet werden. Gegebenenfalls muss ein Index, der auf dem [feld] liegt in einen funktionsbasierten Index umgewandelt werden (das ist definitiv bei Oralce 10g der Fall).

SELECT * FROM [tabelle]
WHERE trunc([feld]) = trunc(sysdate) - x

Bei einer Verwendung aus ColdFusion heraus halte ich es für ratsam parameterisierte Querys zu benutzen, dieses schont Oracles SGA und veringert die Probleme bei Typkonvertierungen und SQL-Injections.

SELECT * FROM [tabelle]
WHERE trunc([feld]) = trunc(sysdate) - <cfqueryparam cfsqltype="cf_sql_integer" value="#x#">


Bitte melden Sie sich kostenlos an, um eine Antwort auf diesen Beitrag zu erstellen.


Das deutsche ColdFusion-Forum cfml.de ist das Portal für Einsteiger und Experten zum Thema ColdFusion und der ColdFusion Markup Language (CFML).

© 2017 Webdesign & Hosting: CHC ONLINE Kassel | SOLVA Content-Management-System CMS
Urlaub-Angebote.de - Urlaub mit Bestpreis-Garantie buchen