php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 19-06-2012, 12:20
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard Kann man mit Datum arbeiten

Hallo zusammen

Ich habe in einer DB ein Feld mit dem Datumsformat DD.MM.YYYY nun würde ich gerne nur die Daten anzeigen lassen welche im aktuellen datumsrange sind.
Dies kann ich im Normalfall mit ....($datum_bd >= $aktuelles_datum_von && $datum_bd <= $aktuelles_datum_bis)

Das will aber nicht so recht! Ich glaube es liegt am Format, das Date Format in der MYSQL kann ich in der DB ja nicht auf mein Format einstellen.

Muss ich nun alle Datum in Unix timestamp umwandeln um die Zeitspanne zu erhalten? Ich würde es sehr gerne in der DB Abfrage machen können.

Weis hier jemand bescheid? DAnke
Mit Zitat antworten
  #2 (permalink)  
Alt 19-06-2012, 12:41
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

MySQL :: MySQL 5.1 Referenzhandbuch :: 11.3.1 Die DATETIME-, DATE- und TIMESTAMP-Typen

und für die Zeitspanne kannst du z.B.

SQL BETWEEN - 1Keydata SQL-Tutorial

nehmen.

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #3 (permalink)  
Alt 19-06-2012, 13:05
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Mit BETWEEN bekomme ich die genau gleichen falschen Ergebnisse.

z.Bsp:
05.06.2012 DB

Zeitspanne
05.03.2012-10.03.2012

Bei ... BETWEEN '$datum_von' and '$datum_bis'...

Wird das Feld mit dem Bsp: Datum (05.06.2012 DB) angezeigt!

Spielt es eine Rolle welchen Typ mein DB Feld hat? Jetzt ist es "text".
Mit Zitat antworten
  #4 (permalink)  
Alt 19-06-2012, 13:30
streuner
 Registrierter Benutzer
Links : Onlinestatus : streuner ist offline
Registriert seit: Aug 2009
Ort: Lüneburg
Beiträge: 623
streuner ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Spielt es eine Rolle welchen Typ mein DB Feld hat? Jetzt ist es "text".
Natürlich - siehe meinen ersten link! Nochmal ergänzend zum Verständnis:

MySQL Tutorial - Date

mfg streuner
__________________
Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

"Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"
Mit Zitat antworten
  #5 (permalink)  
Alt 19-06-2012, 16:20
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Wie kann ich denn in der MYSQL das Format beim Type Date festlegen?

Ich stehe da auf dem Schlauch.

Am einfachsten wäre wenn ich zusätzlich ein Time-Stamp in die DB speichere und dann zwischen diesen Zahlen Between ausführe.
Es wäre einfach schöner wenn es ohne gehen würde.

Geändert von sepp (19-06-2012 um 16:27 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 19-06-2012, 17:04
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sepp Beitrag anzeigen
Wie kann ich denn in der MYSQL das Format beim Type Date festlegen?
In der Datenbank gar nicht – höchstens bei der Ausgabe.

Wie – siehe Manual, Datums- und Zeit-Funktionen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 19-06-2012, 17:39
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Muss ich das den in der Abfrage oder nach der Abfrage machen?

Ich bin nahe an der Verzweiflung, habe schon zuviele Stunden investiert....aber trotz Euren wertvollen Tipps komme ich nciht zu Ziel. Ist mehr ein gebastel und austesten - anstatt gezielt programmieren.

Bitte Helft mir einwenig weiter.....
Ich habe ein Datum
von 01.01.2012
bis 12.12.2013

nun will ich die Abrage so, dass nur diese Daten mit dem Datum (03.03.2012) in der Tabelle welches innerhalb der beiden Datum von und bis liegen.

Bitte helft einem verzweifelten Mann.

Geändert von sepp (19-06-2012 um 18:05 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 19-06-2012, 20:12
hostbar_danny
 Registrierter Benutzer
Links : Onlinestatus : hostbar_danny ist offline
Registriert seit: Feb 2011
Beiträge: 66
hostbar_danny befindet sich auf einem aufstrebenden Ast
Standard

Halo Sepp,

wie hier schon geschrieben wurde, funktionieren die MySQL Datums/Zeitfunktionen nur mit DATE und DATETIME Feldern.

Warum speicherst du die in einem Text Feld im DD.MM.YY Format ? Gibt es dafür einen Grund ? Oder wäre es denkbar, hier DATE Felder zu verwenden und für die Ausgabe das Datum in das entsprechende Format zu konvertieren ?

Gerade wenn du Vergleiche / Berechnungen / etc. machen möchtest, wäre das wohl die sinnvollste und performanteste Lösung.

Nichts desto trotz kannst du Berechnungen auch mit den derzeitigen Feldern anstellen, indem du Sie vorher mit STR_TO_DATE konvertierst.

Deine Query könnte dann in etwa so aussehen:

Code:
SELECT * FROM meinetabelle WHERE STR_TO_DATE(feldmitdatum, '%d.%m.%Y') BETWEEN STR_TO_DATE('05.04.2012', '%d.%m.%Y') AND STR_TO_DATE('10.04.2012', '%d.%m.%Y')
Aber Ich kann dir nicht sagen ob die Konvertierung der Textelder in Datumsfelder wirklich schnell ist bei großen Datenmengen. Auch wirst du immer gezwungen sein, deine Daten irgendwie zu konvertieren. Von daher solltest du noch einmal nachdenken, ob ein DATE Feld nicht wirklich sinnvoller ist.

Gruß Danny
Mit Zitat antworten
  #9 (permalink)  
Alt 20-06-2012, 02:09
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Ja, da hast Du wohl recht...ich habe nun alles in mühsamer Kleinarbeit (alle Funktionen usw.) auf Date im Format YYYY-MM-DD zum speichern umgeschrieben.

Nun geht alles wie es soll!!!! Hätte mir einige Arbeit ersparen können wenn ich von Beginn weg richtig programmiert hätte! ;-) Danke
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kann man mit JavaScript auf eine Datenbank zugreifen, wie mit PHP? spam2008 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 4 11-03-2008 20:42
Kann man mit ajax auf externe Dateien zugreifen? php-sebi HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 14 17-08-2006 18:06
Kann man irgendwie email mit php emfpangen? php-sebi PHP Developer Forum 4 09-07-2006 20:52
kann man 2 Formulare mit einen Senden Butten versenden ? dimein HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 4 25-01-2005 09:56
[SQL allgemein] Arbeiten mit Datum Sebastian.J SQL / Datenbanken 3 02-10-2004 15:30

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:57 Uhr.