读书人

关于一个 SQL 随机 函数的有关问题

发布时间: 2012-04-07 17:31:52 作者: rapoo

关于一个 SQL 随机 函数的问题

SQL code
with t1 as(select Row_number() over(order by id) as B,fid  from Order_Main where ov_bid like'%是%'  and OV_CaoDan<>'废单'  and  OV_CaoDan<>'签单'and fstype<>3 and ftradetype in (2))select  fid      from t1   where B in( cast(ceiling(rand() * (select count(*) from t1)  )as int)  )


随机的可能性 很小, 有时 还会跑 出 空值 , 怎么 能让 随机可能性 很大, 又不出空值 。 。。?

[解决办法]
SQL code
select  top fid      from t1   order by newid()
[解决办法]
直接用newid()嘛,还编号干啥
SQL code
select top1 fid  from Order_Main where ov_bid like'%是%'  and OV_CaoDan<>'废单'    and  OV_CaoDan<>'签单'and fstype<>3 and ftradetype in (2))order by newid()
[解决办法]
探讨
问一下, 如果 跑出空值,就 返回 重新 跑, 直到 跑出值, 这个怎么做

读书人网 >SQL Server

热点推荐