Re: SQL to Generate Random Numbers?

From: Lyle B Tiffany <lbt_at_terminator.rs.itd.umich.edu>
Date: 11 Mar 1994 09:40:27 -0500
Message-ID: <2lpvsr$atl_at_terminator.rs.itd.umich.edu>


In article <CMHA06.Cnu_at_freenet.carleton.ca>, Doug Harris <ah513_at_FreeNet.Carleton.CA> wrote:  

> Although not possible in straight SQL, it should be possible to
>write a random number function in PL/SQL. If anyone has written such
>a thing I would be VERY interested in getting it.
 

Here is an example of Random function (you'll have to use Oracle 7, not Oracle 6):  

create function random return char is

       JulianDay char(3);
       Seconds   char(5);
       TempChar  char(9);
       TempInteger number(8);
       TempResult  number(16);
       Char8     char(8);
Begin
       JulianDay := To_Char(sysdate, 'DDD');
       Seconds   := To_Char(sysdate, 'SSSSS');
       TempChar  := JulianDay || Seconds;
       TempResult := TempChar + Uid*10000;
       TempInteger := mod (TempResult, 100000000);
       TempResult := TempInteger * TempInteger;
       TempResult := mod (TempResult, 1000000000000);
       TempInteger := floor (TempResult/10000);
       TempChar := To_Char (TempInteger, '09999999');
       Char8 := substr (TempChar, 2, 8);
       return Char8;

End Random;
-- 
Bernard Tiffany                      Bitnet: USERW062_at_UMICHUM 
Internet: Bernard.Tiffany_at_umich.edu  CompuServe: 75046.2667 
Windows is no longer a trademark of Microsoft Corporation.
Received on Fri Mar 11 1994 - 15:40:27 CET

Original text of this message