php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.06.2008, 12:08  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard [Erledigt] MSSQL Datum

Hi Leute,

ich hab hier mal wieder ein interessantes Phänomen:

Ich führe folgendes ganz einfaches Skript aus:

PHP-Code:
mssql_connect("192.168.0.211","sa","password");
mssql_select_db("DB");

$sql "SELECT LTh_DatVon FROM ISLogTourHead WHERE LTh_DatVon > '06/01/2008' AND LTh_DatVon < '06/04/2008'";
$qrymssql_query($sql);
while(
$now mssql_fetch_object($qry))
{
  echo 
"$now->LTh_DatVon<br>";

Der MSSQL-Server liegt auf einem Separaten System, nennen wir das Ding mal 211 (siehe IP Adresse). Auf 211 liegt kein Webserver, die Maschine ist ausschließlich für die Datenbank.

Mache ich diese Abfrage jetzt vom Linux System aus so bekomme ich das gewünschte Ergebnis: > 01 Juni UND < 04 Juni

Führe ich exakt das gleiche Skript von einem Windows System (nicht 211) aus, so bekomme ich: > 06 Januar UND < 06 April

Also genau Monat und Tag vertauscht. Wie kann das sein, die beiden Skripte arbeiten doch mit der selben Datenbank???

[edit]
Dieses Problem besteht übrigens erst seit der Umstellung von MSSQL 7 auf MSSQL 2005. Vorher lieferten beide PHP-Skripte das gleiche (erste) Ergebnis und die PHP Konfiguration wurde in keinem Fall geändert...

Geändert von cycap (04.06.2008 um 12:33 Uhr).
cycap ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.06.2008, 13:47  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

etwas ähnliches kann man auch in oracle nachstellen, Das liegt an umgebungsvariablen, die das Datumsformat festlegen...
bei oracle heisst das NLS_DATE_FORMAT, evt gibt es ein equivalent auch in MSSQL
HPR1974 ist offline   Mit Zitat antworten
Alt 04.06.2008, 14:38  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Na toll, zu früh gefreut:

PHP-Code:
ini_set("mssql.datetimeconvert","Off"); 
ändert rein gar nichts

[edit]
naja doch, aber es ändert nur das ausgabeformat
cycap ist offline   Mit Zitat antworten
Alt 04.06.2008, 14:57  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

benutze im query die Funktion CONVERT() damit kannst Du unabhängig von den Einstellungen arbeiten
HPR1974 ist offline   Mit Zitat antworten
Alt 04.06.2008, 15:09  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Code:
SELECT
  LTh_DatVon FROM ISLogTourHead 
WHERE 
  LTh_DatVon > (SELECT convert(datetime,'01/06/2008',103)) 
AND 
  LTh_DatVon < (SELECT convert(datetime,'04/06/2008',103))
[edit]
Funktioniert das is aber ganz schön aufwendig für nen ganz normales Datrum

Geändert von cycap (04.06.2008 um 15:14 Uhr).
cycap ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datum nach Jahr,Monat und Tag sortieren Arguss PHP Tipps 2008 6 19.07.2008 10:31
[Erledigt] Datum Ausgabe Mysql krackmoe PHP Tipps 2008 9 10.07.2008 20:33
[Erledigt] Datumsübernahme von PHP in MySQL groovemachine PHP Tipps 2008 1 07.07.2008 10:06
[Erledigt] Aktuellstes Datum von Dateien rekursiv ermitteln marcus_78 PHP Tipps 2008 11 24.06.2008 09:37
[Erledigt] Datums Foumulareingabe mit Datebankeintrag Datum vergleichen freakymiky PHP Tipps 2008 1 21.06.2008 15:49
Jahrestag ermitteln cyberholic PHP Tipps 2006 4 17.12.2006 12:50
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
wie sortiert man Datum bei SQL Abfrage? rockinchina PHP Tipps 2005-2 8 27.09.2005 12:57
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
[Erledigt] datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
[Erledigt] Between-Query an MSSQL 2000 Server PHP-Fortgeschrittene 0 30.06.2005 08:50
datum auslesen eintragen PHP Tipps 2005 23 13.04.2005 20:39
Datum und Zeit PHP Tipps 2004-2 5 11.12.2004 23:53
Problem mit Datum ?! Datenbanken 21 04.08.2004 16:35
eingabefelder - datum PHP Tipps 2004 2 24.06.2004 10:38

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mssql php date where, mssql datum vergleichen, mssql datum, php mssql date, php mssql datum, php mssql date format, mssql select datum, mssql datum formatieren, mssql datumsformat, ms sql datum vergleichen, php date mssql, mssql php date, php mssql datumsformat, mssql.datetimeconvert, mssql datum select, mssql date, mssql datetime php, mssql date format php, php datum mssql, datum mssql

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum