Sozusagen als krönender Abschluss meines Exkurses in die Statistik, hier ein Skript zur Berechnung des hyperbolischen Tangens:
DECLARE @sinhyp FLOAT
DECLARE @coshyp FLOAT
SELECT @sinhyp=0.5, @coshyp=0.5
SELECT
((POWER(EXP(1),@sinhyp) - POWER(EXP(1),-@sinhyp) )/2) /
(( POWER(EXP(1),@coshyp) + POWER(EXP(1),-@coshyp) )/2)
-----------------------------------------------------
0.46211715726000974
(1 row(s) affected)
Auch dies ist eine Adaption aus Excel. Diesmal die Funktion TANHYP(). Da dies nun ziemlich wild aussieht, empfiehlt sich hier der Einsatz der UDF-Variante, die dann komplett so aussieht:
CREATE FUNCTION dbo.hypsin (@sinhyp FLOAT)
RETURNS FLOAT
AS
BEGIN
RETURN (POWER(EXP(1),@sinhyp) - POWER(EXP(1),-@sinhyp) )/2
END
GO
CREATE FUNCTION dbo.hypcos (@coshyp FLOAT)
RETURNS FLOAT
AS
BEGIN
RETURN ( POWER(EXP(1),@coshyp) + POWER(EXP(1),-@coshyp) )/2
END
GO
CREATE FUNCTION dbo.hyptan (@tanhyp FLOAT)
RETURNS FLOAT
AS
BEGIN
RETURN (dbo.hypsin(@tanhyp)/dbo.hypcos(@tanhyp))
END
GO
SELECT dbo.hyptan(0.5)
DROP FUNCTION dbo.hypsin
DROP FUNCTION dbo.hypcos
DROP FUNCTION dbo.hyptan
-----------------------------------------------------
0.46211715726000974
(1 row(s) affected)
Es gibt anscheinend unterschiedliche Meinungen über die Berechnung des Median. Zum einen gibt es den 'financial' Median, der das arithmetische Mittel der beiden mittleren Werte ist, zum anderen den 'statistischen' Median, der der niedrigere (bzw. bei Gleichheit der Werte) der erste der Werte ist. In Büchern über T-SQL findet man die komplexesten Statements zur Berechnung des Median, dabei ist dieser sehr einfach mit Hilfe von TOP n PERCENT zu berechnen. Hier ist ein Beispiel zur Berechnung des 'financial' Medians: