On Fri, Jan 20, 2006 at 04:54:00PM -0700, Michael Fuhr wrote: > On Sat, Jan 21, 2006 at 12:00:49AM +0100, SunWuKung wrote: > > Does somebody have/know of a function for pg returning the standard > > normal cumulative distribution for a Z score? > > Are you looking for something like this? > > test=> SELECT z, cdf_ugaussian_p(z) FROM generate_series(-3, 3) AS g(z); You can also do this with the R language, which you can access from PostgreSQL via PL/R. http://www.r-project.org/ http://www.joeconway.com/plr/ CREATE FUNCTION pnorm(z double precision) RETURNS double precision AS $$ return(pnorm(z)) $$ LANGUAGE plr IMMUTABLE STRICT; SELECT z, pnorm(z) FROM generate_series(-3, 3) AS g(z); z | pnorm ----+--------------------- -3 | 0.00134989803163009 -2 | 0.0227501319481792 -1 | 0.158655253931457 0 | 0.5 1 | 0.841344746068543 2 | 0.977249868051821 3 | 0.99865010196837 -- Michael Fuhr