Am Sat, 17 Nov 2012 15:45:36 +0100
schrieb Andreas Scherbaum <
ads-...@wars-nicht.de>:
> Marc Santhoff <
m.san...@t-online.de> wrote:
> >
> > Natürlich kann man argumentieren, der Fall würde nicht so häufig
> > vorkommen, aber Programmierer die nur am Rand mit SQL zu tun haben
> > gibt es IMHO genug.
>
> Ich gebe ja zu ich bin da gegenüber PostgreSQL voreingenommen.
> Allerdings kann ich dein Argument nicht ganz nachvollziehen:
>
> Die allgemeine Funktion bietet dir alle Freiheiten und
> außerdem kannst du dir sehr einfach eine weitere passende Funktion
> drumherum schrauben. Natürlich könnte man für jeden Sonderfall
> auch gleich die passenden Funktionen mit liefern ... artet dann
> allerdings irgendwann aus weil jeder mit Extrawünschen ankommt:
> (Jahr bitte einmal zweistellig, einmal vierstellig, einmal seit 1900,
> einmal seit 1970 (Unix), einmal seit 1899/1904 (Windows) - und da
> sind noch gar nicht die ganzen Religionen eingerechnet. Monat und
> Tag bitte wahlweise auch mit und ohne führender Null.
Ich betonte ja schon, ich verstehe durchaus den Ansatz, eine Funktion
für alles zu benutzen und die ganzen Variationen mit Parameter à la
printf() zu erledigen.
Mich ärgern nur solche kleinen Unterschiede, die ich aus meiner Sicht
für unnötig halte, weil sie Zeit fressen. Erinnert mich irgendwie an
die Diskussionen über Open Source, $HERSTELLER ist pöhse, weil er sein
Produkt inkompatibel macht, und mit OSS wird alles besser. ;)
> Gegenfrage: wie löst du die ganzen Sonderwünsche auf wenn
> du nur year() month() und day() zur Verfügung hast?
Ich habe bisher keine Sonderwünsche zu lösen. Nur relativ simples SQL,
das aber auf MySQL (aber zunehmend seltener), Firebird, HSQL und
PostgreSQL möglichst ohne Klimmzüge laufen soll. Und ich muß
netterweise auch keine unterschiedlichen Lokalitäten unterstützen. Wenn
doch, würde ich mir eine Fktn. wie date_part() wünschen. :)
Ich höre schon die nächsten Argumente, das ist ja auch nur ein
beschränkter Ausschnitt, der nächste will DB $X, dann einer $Y, das
kann man nicht alles berücksichtigen ...
Was sagen eigentlich die verschiedenen SQL-Standards dazu, sind diese
Funktionen dort irgendwie erwähnt?
Marc
--
This computer is not running MICROS~1.