Diskussion
MSSQL Abfrage
| Webi |
Geschrieben am: Di 6.05.2008, 23:01
|
||
|
AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 681 Mitglied seit: 28.03.2004 |
Hallo Brauche mal wieder Hilfe für eine MSSQL-Abfrage. Ich möchte mit der untenstehenden Abfrage als Ergebnis alle Datensätze bekommen, die zwischen "Jetzt" und "Jetzt minus einem Tag" sind. Das Feld enddate ist das Datumsfeld im Format "2008-01-02 11:18:00.000".
Bisher habe ich bei meinem Versuchen entweder keine Datensätze bekommen oder alle möglichen. Jemand eine Idee, wie ich die entsprechenden Ergebnisse erhalte? Danke und Gruss Roland -------------------- www.linkit.ch - Das Webverzeichnis mit Links aus dem Deutschsprachigen Raum.
Preise vergleichen bei Shopono.de www.bebelino.ch - Onlineshop für Baby- und Kinder-Produkte |
||
![]() |
| TSc |
#2 Geschrieben am: Mi 7.05.2008, 05:37 (+06:36)
|
||||
![]() AyomRank 7 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 1121 Mitglied seit: 8.11.2004 |
Entweder so:
oder sauberer:
Testen kann ich MSSQL erst auf der Arbeit, daher keine 100% Gewähr... Gruß, Tom -------------------- ---~~~ Meine zwei güldenen Regeln zu nachhaltigem SEO ~~~---
1. Google mag was der User mag. 2. Content ist King! Ferienhaus in der Eifel |
||||
![]() |
| Jürgen Auer Server-Daten - Online-CRM-Lösungen |
#3 Geschrieben am: Mi 7.05.2008, 11:06 (+05:29)
|
||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 3274 Mitglied seit: 4.02.2006 |
Im Prinzip ist der Code richtig, abgesehen von der falschen Richtung '<'. Allerdings kennt MSSql kein Format für Datumsfelder. Das Format wird erst bei der Ausgabe festgelegt. Deshalb: Ist das aus Versehen ein nvarchar(20) o.ä.? Das würde nämlich das etwas merkwürdige Resultat erklären, da dann effektiv ein Stringvergleich gemacht worden wäre - mit nicht so sinnvollen Ergebnissen. -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
Server-Daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert. |
||||
![]() |
| Webi |
#4 Geschrieben am: Mi 7.05.2008, 11:22 (+00:15)
|
|
AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 681 Mitglied seit: 28.03.2004 |
@jauer
Heisst dies, dass das Datum vor dem Vergleich in einen String umgewandelt wird und dadurch beim Resultat dann entweder kein Datensatz rauskommt oder alle möglichen? Verstehe ich dies richtig? Und falls ja, wie kann ich dies umgehen? -------------------- www.linkit.ch - Das Webverzeichnis mit Links aus dem Deutschsprachigen Raum.
Preise vergleichen bei Shopono.de www.bebelino.ch - Onlineshop für Baby- und Kinder-Produkte |
![]() |
| Jürgen Auer Server-Daten - Online-CRM-Lösungen |
#5 Geschrieben am: Mi 7.05.2008, 15:36 (+04:14)
|
||||
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 3274 Mitglied seit: 4.02.2006 |
Wenn das Feld 'enddate' vom Datentyp nvarchar / varchar / char ist, dann wird das Ergebnis von DateAdd implizit in einen String umgewandelt und es werden die Strings miteinander verglichen. U.a. mit dem Problem, daß das Ergebnis von DateAdd womöglich als 'May 7 2008 4:34PM' ausgegeben wird. Daß nun Textvergleiche etwas schräg werden, dürfte klar sein. Wenn das Feld 'enddate' vom korrekten Datentyp DateTime (oder smalldatetime) ist, dann werden Datumsangaben miteinander verglichen (intern faktisch Dezimalzahlen: Der Ganzzahlanteil bestimmt das Datum, der Dezimalteil die Uhrzeit). Deshalb: Innerhalb vom MS-SqlServer ist diese Aussage
unsinnig, falls das Feld 'enddate' ein Datetime-Format hat. Ich meine aber, das schon bei PHP-Code gesehen zu haben, daß Datumsangaben als Stringfelder abgespeichert und dann per Textvergleich ausgewertet werden. Da Du oben das Format angegeben hast, hört sich das für mich nach so einer Tradition an. Damit ist mir nicht klar: Welches Format hat 'enddate'? -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
Server-Daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung. Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert. |
||||
![]() |
| Webi |
#6 Geschrieben am: Mi 7.05.2008, 22:38 (+07:01)
|
|
AyomRank 6 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 681 Mitglied seit: 28.03.2004 |
Das Feld enddate ist vom Datentyp DateTime.
Die Abfrage von Tom hat mein Problem gelöst. Es werden nun die richtigen Ergebnisse angezeigt. Danke! Gruss Roland -------------------- www.linkit.ch - Das Webverzeichnis mit Links aus dem Deutschsprachigen Raum.
Preise vergleichen bei Shopono.de www.bebelino.ch - Onlineshop für Baby- und Kinder-Produkte |
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
« Cronjob oder andere Lösung gesucht ? | Programmierung Allgemein | Lage auf Googlemas nach PLZ & Ort anzeigen? »
Trackback-Url: http://www.ayom.com/track/t/24326
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| MYSQL Update-Befehl auf Basis Erg. SELECT Abfrage? | Claus Lehmann | 190 | 4 | Mi 3.03.2010, 12:27 |
| Abfrage einer MySQL Datenbank | webdoktor | 279 | 10 | Fr 8.01.2010, 18:11 |
| SQL Abfrage von Inhalt einer anderen Tabelle | webdoktor | 372 | 11 | Do 19.11.2009, 10:43 |
| Intelligente MySQL Abfrage | Sancheck | 292 | 6 | Sa 14.11.2009, 22:10 |
| MySQL Abfrage | G.P. | 327 | 5 | Fr 3.07.2009, 16:31 |
| PHP-mySQL: Abfrage - GROSS/kleinschreibweise | radarin | 282 | 2 | Mi 3.06.2009, 20:43 |
| Hilfe, SQL Abfrage | Siegfried_D | 224 | 3 | Mo 5.01.2009, 03:36 |
| Problem MySQL-Abfrage | Magical | 365 | 2 | Mo 15.12.2008, 07:48 |
| SQL Abfrage für OS Commerce | Siegfried_D | 501 | 5 | Do 13.11.2008, 22:58 |
| MySQL Abfrage von einer Tabelle | webdoktor | 547 | 19 | Sa 9.08.2008, 17:45 |
Anzeige - [Hier werben / Mediadaten]














