--取最小日期对应的数值
if@MinValueisnotnull
begin
select@MinValueDecimal=convert(float,@MinValue)
end
--取最年夜日期对应的数值
if@MaxValueisnotnull
begin
select@MaxValueDecimal=convert(float,@MaxValue)
end
while(1=1)
begin
--从随机数视图中猎取一个随机值(函数中不克不及间接利用rand())
select@RandomValue=RandValue
fromV_Rand
--依据最年夜最小值猎取随机整数
if@MinValueDecimalisnotnulland@MaxValueDecimalisnotnull
begin
select@ReturnValueDecimal=@RandomValue*@MaxValueDecimal
if@ReturnValueDecimal>=@MinValueDecimaland@ReturnValueDecimal<=@MaxValueDecimal
begin
break
end
end
elseif@MinValueDecimalisnotnulland@MaxValueDecimalisnull
begin
select@ReturnValueDecimal=@RandomValue*@MinValueDecimal
if@ReturnValueDecimal>=@MinValueDecimal
begin
break
end
end
elseif@MinValueDecimalisnulland@MaxValueDecimalisnotnull
begin
select@ReturnValueDecimal=@RandomValue*@MaxValueDecimal
if@ReturnValueDecimal<=@MaxValueDecimal
begin
break
end
end
elseif@MinValueDecimalisnulland@MaxValueDecimalisnull
begin
select@ReturnValueDecimal=@RandomValue
break
end
end