/*******************************====
*//*
功能: 獲取指定範圍的數字數列
*//*
說明: 交叉最後層級的cte得到的資料行:在l級(從0開始計數)得到的行的總數為2^2^l。
*//*
例如:在5級就會得到4 294 967 596行。5級的cte提供了超過40億的行。
*//*
*//*
建立: 2016-07-16
*//*
修改:
*//*
2016-08-19 對 @binthigh、@bintlow 進行判斷,防止top子句含有無效的值
*//*******************************====
*/create
function
dbo.fn_getnums
(
@bintlow
bigint
,
@binthigh
bigint
) returns
table
asreturn
(
with
l0 as (select c from (values(1), (1)) as
lo(c)),
l1 as (select
1as c from l0 as t cross
join l0 as
t2),
l2 as (select
1as c from l1 as t cross
join l1 as
t2),
l3 as (select
1as c from l2 as t cross
join l2 as
t2),
l4 as (select
1as c from l3 as t cross
join l3 as
t2),
l5 as (select
1as c from l4 as t cross
join l4 as
t2),
nums
as (select row_number() over (order
by (select
null)) as rownum from
l5)
select
top (case
when
@binthigh
>=
@bintlow
then
@binthigh
-@bintlow+1
else
0end) @bintlow
+ rownum -1as
num
from
nums
order
by rownum asc)
go
Java生成指定範圍的隨機數或指定陣列中的隨機數
一 生成指定範圍的隨機數 要生成在 min,max 之間的隨機整數,得到0到9的隨機數 return public int getrangedate random.nextint max 表示生成 0,max 之間的隨機數,然後對 max min 1 取模。以生成 10,20 隨機數為例,首先生成0...
刪除陣列中的指定數字
編寫乙個函式void fun int bb int n,int y 其中 n表示bb陣列中元素的個數。函式功能 刪除bb中所有值為y元素,bb陣列元素的值和y的值由主函式通過鍵盤讀入。作者的源 是這樣的 1 void fun int bb int n,int y 2 11 以上 12 也沒想他到底 ...
Excel按照指定概率生成選定範圍內數字
今天有這麼乙個需求,需要按照指定的概率比如20 40 40 的概率對應生成1 2 3這3個數字 excel中如何實現呢?應該用什麼函式呢?引數又是什麼呢?首先這個功能不是單一的excel函式可以解決的需要兩個函式,分別是lookup和rand 最終的結果如下 lookup rand 100,這裡面需...