Ik ben bezig met een set componenten waarmee standaard zoekfunctionaliteit in een applicatie kan worden ingebouwd (zie deze thread of deze pagina). Deze componenten werken voor verschillende databases, maar een groot probleem is dat ik niet met alle databases bekend ben. Een bekend probleemgebied is het verschil in SQL syntax bij vergelijkingen met datum/tijd velden. De datum vergelijkingen en datum+tijd vergelijkingen zijn redelijk te vinden op het internet, maar alleen tijd vergelijkingen zijn moeilijker op te sporen. Wie kan mij helpen met het invullen/controleren van het volgende lijstje zodat mijn documentatie wat beter is en gelijk voor vele NLDelphi bezoekers voor eens en voor altijd het antwoord bekend is?
De vergelijking moet als het even kan werken ongeacht de landinstellingen van de client en/of server, dus zo universeel mogelijk. Voorbeeld datum/tijd vergelijking: 24 januari 2004, 13:38:08.
Database: Interbase
SQL datum: WHERE DatumVeld = '2004-01-24'
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = '2004-01-24 13:38:08' (milliseconden problemen?)
Database: MS Sql sever
SQL datum: WHERE DatumVeld = '20042401'
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = '20042401133808' (milliseconden problemen?)
Database: Oracle
SQL datum: WHERE DatumVeld = '2004-JAN-24'
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = <onbekend>
Database: MySQL
SQL datum: WHERE DatumVeld = '20040124'
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = '20040124133808' (milliseconden problemen?)
Database: Access
SQL datum: WHERE DatumVeld = #01/24/2004#
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = #01/24/2004 13:38:08#
Database: Paradox
SQL datum: WHERE DatumVeld = '01/24/2004'
SQL tijd: WHERE DatumVeld = <onbekend>
SQL datum+tijd: WHERE DatumVeld = <onbekend>
Database: Flash filer
SQL datum: WHERE DatumVeld = <onbekend> (Richard?)
SQL tijd: WHERE DatumVeld = <onbekend> (Richard?)
SQL datum+tijd: WHERE DatumVeld = <onbekend> (Richard?)
Database: Nexus
SQL datum: WHERE DatumVeld = <onbekend> (Richard?)
SQL tijd: WHERE DatumVeld = <onbekend> (Richard?)
SQL datum+tijd: WHERE DatumVeld = <onbekend> (Richard?)
Ik weet dat er nog veel meer databases zijn, dus vul gerust aan als je denkt dat er een mist Ik weet ook dat er wellicht sommige al beantwoord zijn op het forum, maar ik heb zoveel gezocht op het internet dat ik het gevoel heb alle pagina's al 10x te hebben gezien en niet meer weet of ik naar iets nieuws zit te kijken.
Bookmarks