SQLite
 sql >> база данни >  >> RDS >> SQLite

Как да генерирате произволно число в рамките на определен диапазон в SQLite

В SQLite можете да използвате random() функция за генериране на псевдослучайно число.

Това е страхотно, но върнатата стойност е между -9223372036854775808 и +9223372036854775807.

Ами ако имате нужда от произволно число между 0 и 10? Или кажете 1 и 100?

За щастие можете да направите това, като комбинирате random() с abs() и модулния оператор.

Произволно число между 0 и 10

Можете да използвате следния код, за да генерирате псевдослучайно число между 0 и 10.

SELECT abs(random() % 10);

Ето пример за избор на множество произволни стойности.

SELECT 
  abs(random() % 10) AS R1,
  abs(random() % 10) AS R2,
  abs(random() % 10) AS R3;

Резултат:

R1          R2          R3        
----------  ----------  ----------
2           8           5         

Увеличете обхвата

Разбира се, можете да промените стойността на всичко, което искате (ако приемем, че е в рамките на random() диапазон от възможни стойности).

Ето го отново с увеличен диапазон между 0 и 100.

SELECT 
  abs(random() % 100) AS R1,
  abs(random() % 100) AS R2,
  abs(random() % 100) AS R3;

Резултат:

R1          R2          R3        
----------  ----------  ----------
76          60          85        

Произволно число между 1 и 10

Ако не искате нулата да бъде част от възможните резултати, можете да използвате следния метод.

Следният код генерира псевдослучайно число между 1 и 10.

SELECT abs(random()) % (10 - 1) + 1;

Ето пример за избор на множество произволни стойности.

SELECT 
  abs(random()) % (10 - 1) + 1 AS R1,
  abs(random()) % (10 - 1) + 1 AS R2,
  abs(random()) % (10 - 1) + 1 AS R3;

Резултат:

R1          R2          R3        
----------  ----------  ----------
2           1           8         

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android Room Database, извличане на конкретна стойност на последния въведен запис

  2. как да получите изображение от drawable според техните имена в базата данни sqlite и след това да го покажете в изглед на списък

  3. Персонализиран календар и напомняне за Android

  4. Създайте временна таблица в SQLite

  5. SQLite - Създаване на база данни