程序员人生 网站导航

SQL SERVER系统函数NEWID()我之理解与学习

栏目:Sqlserver时间:2014-02-12 23:13:37

  大家也许对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/

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐