שם משתמש או כתובת אימייל
סיסמה
› פורומים › אפיון ופיתוח פריוריטי › פונקצית RAND
אני מנסה לשלוף רשומות מסוימות בצורה רנדומלית
יש בSQL פונקצית RAND שעושה את זה אבל הWINDBI של פריוריטי לא מכיר אותה
איך בכל זאת ניתן לשלוף רשומות אקראיות בפריוריטי?
תודה
במסמך SDK של גרסה 19 בפרק 15 מוזכרת פקודת PRANDOM
יכול להיות שקיימת בגרסה קודמת רק לא מתועדת, אינני יודע.
PRANDOM- יעבוד בגרסה זו?
אבל אני לא מבינה איך זה מביא מספר רנדומלי או רשומה רנדומלית .
/* Generate pseudo random numbers */
:HOUR = ATOI (STRIND (DTOA (SQL.DATE, 'hh:mm'), 1, 2)); :MINS = ATOI (STRIND (DTOA (SQL.DATE, 'hh:mm'), 4, 2)); :TMP = 0.0; :XSEED = ((YEAR (SQL.DATE8) MOD 100) + (MONTH (SQL.DATE8) * 493)) MOD 30269; :YSEED = ((MONTH (SQL.DATE8) – 1) + (2417 * :HOUR) + (23 * :MINS)) MOD 30307; :N = 0; /* LOOP COUNTER */ LABEL 1; :XSEED = 171 * (:XSEED MOD 177) – 2 * ROUND ((:XSEED + 0.0) / 177); SELECT (:XSEED < 0 ? 30269 : 0) + :XSEED INTO :XSEED FROM DUMMY; :YSEED = 172 * (:YSEED MOD 176) – 35 * ROUND ((:YSEED + 0.0) / 176); SELECT (:YSEED < 0 ? 30307 : 0) + :YSEED INTO :YSEED FROM DUMMY; :TMP = :XSEED / 30269.0 + :YSEED / 30307.0; :PAR1 = ITOA (ROUND (:$.MAX * ABSR (:TMP – ROUND (:TMP))));
:N = :N + 1; LOOP 1 WHERE :N < :$.NUM;