Optionale Argumente in SQL (MySQL )
Für eine Funktionsnamen werden in der Dokumentation in den Klammern Parameterlisten mit unterschiedlichen Anzahlen von Parameter angegeben.
Bei dem Funktionsnamen »RAND« gibt es beispielsweise eine Parameterliste ohne Parameter und eine mit einem Parameter »N«.
RAND(), RAND(N)
Bei dem Funktionsnamen »ROUND« gibt es beispielsweise eine Parameterliste mit einem Parameter »X« und eine mit zwei Parametern »X« und »D«.
ROUND(X), ROUND(X,D)
Man kann darin ebenfalls verschiedene Überladungen des Funktionsnamens sehen. Überladungen hatten wir ja schon behandelt.
Man kann aber auch sagen, daß diese Funktionen jeweils einen optionalen Parameter haben, also einen Parameter, der auch weggelassen werden kann. Im ersten Beispiel ist »N« der optionale Parameter, im zweiten Beispiel »D«.
Der optionale Parameter wird auch manchmal in eckigen Klammern geschrieben, um zu kennzeichnen, daß er auch entfallen kann.
RAND([N])
ROUND(X,[D])
Im zweiten Fall wäre es aber dann eigentlich korrekt, auch das Komma mit in die eckigen Klammern zu setzen, da es ebenfalls entfällt, wenn der zweite Parameter entfällt.
ROUND(X[,D])
Was das Weglassen eines optionalen Arguments nun eigentlich bedeutet, das muß man jeweils der Dokumentation der Funktion entnehmen. In der Regel wird dort ein bestimmter Wert angegeben, der dann als Wert des Weggelassenen Arguments angenommen wird. Dies ist so bei »ROUND«, wo »ROUND(X)« dasselbe bedeutet wie »ROUND(X,0)«. Im Falle von »RAND()« bewirkt das Weglassen eines Arguments aber eine schwer vorhersehbare Zufallszahl, während die Angabe eines Arguments dazu führt, daß eine bestimmte, durch das Argument festgelegte Zufallszahl erzeugt wird. (Daß diese Zufallszahl durch das Argument bestimmt wird, heißt nicht, daß sie dem Argument gleich ist.)