大家也许对MS SQL的随机函数NEWID应该不会陌生吧,昨天同事问我在LINQ中怎么实现随机数查询,我不加思索的回答,那你是不是要用.NET的RANDOM()函数生成对应的选择条件,然后进行查询,后来她告诉我,她有在网络上SEARCH,只是自己不知道怎么用,后来我看看,网络上那个代码,那个注释,勉强还算是懂了吧,不过自己把自己的心得和体会写出来,各位侠客、高手、忍者,千万别抛砖头砸我,小弟我是自学,HEHE,不过我也希望各位在这里指出我的不足,至少讨论中可以学到很多东西,新的技术和想法也是在彼此的讨论中得到提升了,欢饮各位讨论,留言,发表评论。
题外话:总觉得繁体字博大精深,不过为了自己和他人看起来比较舒服,我还是使用简体吧。
上图是基于在SQL Server 2005 而生成的
1.先聊聊NEWID():
newid()是MS SQL SERVER产品自己增加的一个功能函数,目的是用于返回随机生成的uniqueidentity值,见图中的1位置,就知道有一个返回参数。看见上图,各位朋友请你千万注意,别以为@NONE是一个输入参数,其实在这里就相当于一个占位符吧,不起作用,只是表示NEWID()没用传入参数,NONE英文大家都知道就是无,没有的意思。
不信可以进行验证:
code sample:
select top 2*from Customers order by newid(4)
红色部分:带了一个参数
此时MSSQL会提示错误:
信息:The newid function requires 0 argument(s).
中文意思:newid函数需要0个参数,言外之意就是没参数。
2.再聊聊怎么使用NEWID()函数
在MSSQL 的查询分析器,或者SQL脚本编辑区,输入以下SQL语句
其实在1中就已经隐约的看出来怎么使用newid function,
代码还是COPY一次吧:
select top 2*from Customers order by newid()--可以见图中2的栏位
3. 进行多次EXCUTE SQL命令,
你会发现每次执行后的2条数据都是随机的,基本上都是不一样的结果。
关于在MS SQL中怎么使用NEWID()先说到这里。
出处:http://www.cnblogs.com/wanzegui325/